このバッチを機能させるために何度も試みましたが、機能せず、気が狂いそうです。また、このウェブサイトをくまなく調べて、質問をする前にさまざまなことを試しました。
選択した選択に応じて、シャットダウン、再起動、またはログオフを行うバッチがあります。これを実行し、答えをチェックしてゼロかどうかを確認することで、数時間から数分、数秒に移動したいときに問題が発生します。「予期しない(がありました」というエラーが表示され、すぐに閉じます。これをバラバラにして個別に実行すると、動作します。
If ステートメントを含むメイン関数を次に示します。バッチ全体をご覧になりたい方はお譲りできます。これを理解するのを助けるために、シャットダウンの実際の使用をコメントアウトしました。REM'd out shutdown 行の前にある 2 行は、これが判明すると削除されます。
:SR_MAIN
cls
echo+
echo+
set /p SR_hrs=....Please enter the number of hours before %SR_NAME%:
IF "%SR_hrs%" == 0 (
echo+
echo You don't want hours, huh?
timeout /t 2 > nul
cls
echo+
echo+
set /p ptm=....Please enter the number of minutes before %SR_NAME%:
IF %ptm% == 0 (
echo+
echo You don't want minutes, huh?
timeout /t 2 > nul
cls
echo+
echo+
set /p pts=....Please enter the number of seconds before %SR_NAME%:
IF %pts% == 0 (
echo+
echo Exiting to Shutdown menu...
timeout /t 2 > nul
goto SHUTREMENU
) ELSE (
cls
echo+
echo+
echo This will %SR_NAME% the computer in the seconds you provided.
set /a tm=pts
echo+
echo Waiting %tm% seconds before continuing...
echo+
timeout /t %tm%
echo Now would come the %SR_NAME%!
pause
REM shutdown /f /%SR_N% /t 0
exit
)
) ELSE (
cls
echo+
echo+
echo This will %SR_NAME% the computer in the minutes you provided.
set /a tm=ptm*60
echo+
echo Waiting %ptm% minutes (%tm% seconds) before continuing...
echo+
timeout /t %tm%
echo Now would come the %SR_NAME%!
pause
REM shutdown /f /%SR_N% /t 0
exit
)
) ELSE (
cls
echo+
echo+
echo This will %SR_NAME% the computer in the hours you provided.
set /a tm=SR_hrs*60*60
echo+
echo Waiting %SR_hrs% hours (%tm% seconds) before continuing...
echo+
timeout /t %tm%
echo Now would come the %SR_NAME%!
pause
REM shutdown /f /%SR_N% /t 0
exit
)
:MAIN_MENU
ECHO Exiting to Main Menu...
PAUSE
ご協力いただきありがとうございます。これは私にとって本当のパズルでした。
J