先日の記事「バックアップスクリプトを自動で実行する」の中で、Windows10 Home Edition では、gpedit.msc(ローカルグループポリシーエディター)が使えないため、シャットダウン時に起動するスクリプトを登録できないことを書きました。
バックアップは少々時間がかかる処理なので、シャットダウンする時に、バックアップ処理を行いそのままシャットダウンさせられれば、バックアップ処理を待つ必要もなくとても便利なのですが、Windows10 Home では、それができないということで、代替の方法を考えてみたいと思います。
Windowsには、シャットダウンを実行するコマンドがありますので、これをスクリプトの最後に記入しておけば、スクリプト実行の最後に、自動的にシャットダウン/再起動/ログオフを行うことができます。コマンドの書き方は以下の通りです。
処理種別 | コマンド | 処理詳細 |
---|---|---|
シャットダウン |
shutdown /s /f /t 0 |
ユーザの確認を待たず、実行中のアプリケーションを強制終了させ、すぐにシャットダウンする。 |
再起動 |
shutdown /r /f /t 0 |
ユーザの確認を待たず、実行中のアプリケーションを強制終了させ、すぐに再起動する。 |
ログオフ |
shutdown /l /f |
ユーザの確認を待たず、実行中のアプリケーションを強制終了させ、すぐにログオフする。 |
バッチファイルを直接編集する場合は、最後の行に上記コマンドを記述すればOKです。アプリケーションを強制的に終了させたくない場合は、/f オプションを削除してください。
バッチファイルをダブルクリックして実行すれば、時間のかかる処理であっても最後に自動的にシャットダウンが行われます。
RoboSyncのスクリプト設定で、スクリプト終了後にシャットダウンさせる場合、スクリプト設定画面の実行後スクリプト欄に以下のように記述します。
その後、スクリプトの生成を実行すると、バッチファイルがN:\Work\backup-and-shutdown.bat に生成されます。
生成されたバッチファイルをダブルクリックなどで実行すると、バックアップ処理後、自動的にシャットダウンされます。このバッチファイルをデスクトップなどに生成するようにしておけば、いつでも実行できて便利かもしれません。
ただし、RoboSyncの「スクリプト実行」でこのスクリプトを実行しても即時シャットダウンされてしまいますので、ご注意ください。
参考に、shutdownコマンドのオプションの一覧を以下にまとめておきます。
shutdown [/i | /l | /s | /r | /a | /p | /h | /e] [/f] [/m \\<ComputerName>] [/t <XXX>] [/d [p|u:]<XX>:<YY> [/c "comment"]]
オプション | 説明 |
---|---|
/i | リモートシャットダウンダイヤログを表示する。/i は最初のオプションとして指定されなければならない。/iが指定されると他のオプションは無視される。 |
/l | 現在のユーザをすぐにログオフする。/m, /t が指定されている時は /l は使用できない。 |
/s | シャットダウンする。(/tオプションを指定しない場合30秒後にシャットダウンされる。) |
/r | 再起動する。(/tオプションを指定しない場合30秒後にシャットダウンされる。) |
/a | シャットダウンを中止する。タイムアウト待ちの間のみ有効。/a を指定する場合、/m も指定しなければならない。 |
/p | ローカルコンピュータの電源をすぐにオフにする。/p は /d または /f とともに使用する。 |
/h | ハイバネーションの状態に移行する。/h は /f とともに使用する。 |
/e | 予期せぬシャットダウンが行われた際、その理由を入力し記録できるようにする。 |
/f | 警告なしに、アプリケーションを強制終了させる。保存していないデータは失われる可能性がある。 |
/m \\<ComputerName> | ターゲットとなる遠隔のコンピュータを指定する。/l は指定できない。 |
/t <XXX> | 再起動やシャットダウンを実行する前のタイムアウト時間を0~600の範囲の秒数で指定する。ローカルコンソールに警告が表示される。デフォルト値は 30秒。 |
/d [p|u:]<XX>:<YY> | 再起動やシャットダウンの理由を明示する。pは計画的実施、uはユーザ定義の理由を示す。XXはmajor reson number、YYはminor reason numberを示す。 |
/c "<Comment>" | 理由の詳細を示すコメント。/d が指定されている必要がある。 |
/? | ヘルプの表示。 |
※ shutdown コマンドは管理者(権限の設定されたユーザ)しか実行できません。
RoboSync: RobocopyのためのGUIツール
本サイトで公開しているツールです。ダウンロードはこのバナーをクリック!
Version 1.3.27 をリリースしました! (2021/1/1)
RobocopyをGUIから実行できるようにするツールです。コマンドプロンプトを表示することなく、GUI画面からほぼマウス操作だけで実行までできます。
Robocopyがバックグラウンドでそのまま実行されますので設定に迷うことはありません。
・ 複数のコピー項目の作成と管理。
・ スクリプトファイル(バッチファイル)出力が可能。スケジューラによるバックグラウンド処理にも使えます。
・ Robocopyによるコピー実行前に、実行プレビュー(/L)、パラメータのチェック(/QUIT)が可能。
・ Robocopyのパラメータ設定の簡易チェック、Robocopy実行前の簡易チェックを行います。
・ Robocopy実行前後で実行するスクリプトを定義可能。
・ Robocopy実行途中での中断、実行ログの履歴管理と保存が可能。
【関連記事・関連コンテンツ】