バッチファイルである時間まで待って処理を実行する

バッチファイル

時間まで待つ 23時か判定する


REM 現在の時刻(時)を取得
FOR /F "usebackq tokens=*" %%a IN (`powershell -command "(Get-Date).Hour"`) DO (
    SET hour=%%a
)

REM 判定
IF "%hour%"=="23" (
    echo OK
) ELSE (
    echo NG
)

REM 現在の日付と時刻を取得
FOR /F "usebackq tokens=*" %%a IN (`powershell -command "Write-Output $(Get-Date).ToString('yyyy/MM/dd ddd HH:mm:ss')"`) DO (
    SET now=%%a
)
echo 現在: %now%

REM 23:59:59 までの残り秒数を計算
FOR /F "usebackq tokens=*" %%a IN (`powershell -command "$now=Get-Date; $target=Get-Date -Hour 23 -Minute 59 -Second 59; ($target - $now).TotalSeconds"`) DO (
    SET /A wait=%%a
)
echo 残り秒数: %wait%

timeout /t %wait%

bat,PowerShell ,windows

Posted by eightban