一部のコンピューターでスクリプトまたはツールをセットアップして、ユーザーがその日のために出発した(コンピューターのシャットダウンを忘れた)特定の時間に、たとえば深夜に自動シャットダウンしたいと思います。一部のプロセスが応答しない場合も、強制的にシャットダウンする必要があります。ただし、ユーザーがそれを使用しているコンピューターの前にいる場合は、たとえば30秒間、[キャンセル]ボタンを表示して、uTorrentのように、ユーザーがシャットダウンをキャンセルできるようにします。
Daxtar Shutdown(優れたツールですがスケジューリングもバッチファイル構築機能もありません)とSimple Shutdown Scheduler(優れたツールですがキャンセルオプションはありません)を確認しました。また、このフォーラムでシャットダウンのタグが付けられた上位の質問も確認しました。また、Windowsバッチファイル内でシャットダウンスクリプトを使用しようとしましたが、キーの「ユーザーの喜び」要件、つまり「N秒でキャンセルできるオプション」を達成する方法を見つけることができませんでした。 「リモート」の要件はありません。できれば、WindowsXP-SP3とWindows7で使用できるようにしたいと思います。
どのスクリプト、バッチファイル、ツール、またはこれらの組み合わせでこれを実現できますか?
これを試してみてください 、これを別の方法で行うために作成する時間がありませんでしたが、これで十分だと思います。 。 。
注for /l %%N in (30
ここでの数値は待機する秒数なので、30
30秒間。
@echo off setlocal enableDelayedExpansion for /l %%N in (30 -1 1) do ( set /a "min=%%N/60, sec=%%N%%60, n-=1" if !sec! lss 10 set sec=0!sec! cls choice /c:CN1 /n /m "Restart in !min!:!sec! - Press N to Restart Now, or C to Cancel. " /t:1 /d:1 if not errorlevel 3 goto :break ) cls echo RESTART in 0:00 - Press N to Restart Now, or C to Cancel. :break if errorlevel 2 (shutdown /r /t 10) else echo restart Canceled
これが役立つと思います thread 。それを通過して、それが何か助けになるかどうか見てください。
スレッド のリンク。
使用法:シャットダウン[/ i |/l |/s |/r |/g |/a |/p |/h |/e] [/ f] [/ m\computer] [/ t xxx] [/ d [p | u:] xx:yy [/ c "コメント"]]
.。
/t xxx Set the time-out period before shutdown to xxx seconds. The valid range is 0-315360000 (10 years), with a default of 30. If the timeout period is greater than 0, the /f parameter is implied. /c "comment" Comment on the reason for the restart or shutdown. Maximum of 512 characters allowed. /f Force running applications to close without forewarning users. The /f parameter is implied when a value greater than 0 is specified for the /t parameter.
ありがとうございました。どちらかといえば教えてください。