• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:batファイルからPCをシャットダウンしたい)

batファイルでPCをシャットダウンする方法はある?

このQ&Aのポイント
  • 職場のコンピュータで、自作のbatファイルでバックアップを取っていますが、シャットダウンできません。
  • ウイルス対策ソフトがシャットダウンを防止している可能性があります。
  • 試しにウイルスバスターを無効にしてもシャットダウンできず、Windows Defenderが原因かもしれません。

質問者が選んだベストアンサー

  • ベストアンサー
  • pita-gora
  • ベストアンサー率70% (102/145)
回答No.5

こんばんは。 Set Path=C:\; C:\"Program Files"\FastCopy この記述を Set Path=%PATH%;C:\;C:\"Program Files"\FastCopy と変更してください。 今の記述では、C:\Windows\system32 などにある外部コマンド(shutdown.exe とか taskkill.exe など)が全く動作しません。 したがってバッチ中に記載されているtaskkillコマンドも実は動いていないと思いますよ。 お試しください。

leo-ultra
質問者

お礼

ありがとうございます。

その他の回答 (5)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.6

>どうもSet pathのあたりをREM文にすると、うまくいくのですが、なにがおかしいのかわかりません。 バッチファイル内でpathを変更するとそのバッチ内のコマンドは全て変更されたpath内に無ければ実行できません。 バッチから抜け出すと元のpath(起動時に設定されているpath)に戻ります。 shutdownはC:\Windows\System32に有りますのでバッチファイルの最後の行にフルパスで指定して下さい。 C:\Windows\System32\shutdown /s 他のコマンドも実行されていないものがあるかもしれませんので念のために見直して下さい。

leo-ultra
質問者

お礼

ありがとうございました。

  • 8ive22ty
  • ベストアンサー率52% (770/1479)
回答No.4

No.1 の補足です。 どうやら「困っている」とは言っても「無反応」ということのようですので、 結論だけ書けば、バッチファイル内で使用しているコマンドに start /wait をかけてみてください。 詳細は start /? を見てください。 アドバイスしても「無反応」なので意味が無いので、終わりとします。

leo-ultra
質問者

お礼

「無反応」申し訳ありません。 昨日から本日夕方までネットにつなげない場所におりました。 もし、お怒りのようでしたら、お詫び申し上げます。

leo-ultra
質問者

補足

> shutdown /s 1行だけのbatファイルを作って実行するとshutdownするはずですので 最初に確かめたつもりになっていましたが、確かにこの場合はシャットダウンします。 batファイルの内容を以下に書きます。場所ごとにREM文にしてみたら、Set Pathのあたりが おかしいようですが、解決策がわかりません。 > start /wait をかけてみてください。 Start /?も見ましたが、どこに入れたらいいのかがよくわかりません。 以下問題のbatファイル--------------- Set Path=C:\; C:\"Program Files"\FastCopy REM ***************** set D=M:\Week-bkup\bkup1-th set F=C:\My-Doc2\Bkup-Log\bkup-log.txt REM ***************** Echo =========================== >> %F% Echo Daily-Copy to %D% started on %date% %time:~0,8% >> %F% mkdir %D% Echo %date% %time% start > %D%\rev-date.txt fastcopy.exe /cmd=sync /auto_close c:\data1 /to=%D%\data1 Echo %date% %time% \graph finished >> %D%\rev-date.txt REM 以下、いくつかのdirectoryをfastcopyでコピー (省略) Taskkill /IM outlook.exe REM たまにOutlookを閉じ忘れる防止 mkdir %D%\outlook用 fastcopy.exe /cmd=sync /auto_close c:\E-mail\outlook用\受信2010-.pst /to=%D%\outlook用 Echo %date% %time% 受信2010-.pst finished >> %D%\rev-date.txt fastcopy.exe /cmd=sync /auto_close c:\E-mail\outlook用\My-Outlook1.pst /to=%D%\outlook用 Echo %date% %time% Outlook1.pst finished >> %D%\rev-date.txt REM 以下、fastcopyが続くが略 Echo %date% %time% All finished >> %D%\rev-date.txt Echo Daily-Copy to %D% completed on %date% %time:~0,8% >> %F% shutdown /s

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.3

>なんとかbatファイルからシャットダウンする方法はないでしょうか? そのバッチファイルの最後に call shutdown /s と記述してみることをお勧めします。 それで駄目なら回答No.1、2の方法を参考にしてシャットダウン用バッチファイルを call で呼び出します。

leo-ultra
質問者

お礼

ご返事が遅くなって申し訳ありません。

leo-ultra
質問者

補足

call shutdown/sにしましたが、うまくいきませんでした。 別のbatファイルを呼ぶことも試みましたが、うまくいきません。 エラーメッセージ 「'shutdown' は、内部コマンドまたは外部コマンド、  操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 がでました。 問題のbatファイルの内容を#4さんの補足に書きました。 どうもSet pathのあたりをREM文にすると、うまくいくのですが、なにがおかしいのか わかりません。 shutdownのpathはどうしたらよいでしょうか?

  • foitec
  • ベストアンサー率43% (1080/2457)
回答No.2

まずシャットダウンを実行させるバッチファイルを別に作ります。 その際にそのバッチファイル名は「shutdown」のスペルが入らないようにしてください。 で、バックアップのバッチファイルの最後にこのシャットダウンの バッチファイルを実行させてください。 シャットダウンのバッチファイル名を「shutdown」のスペルが含まれてしまうと コマンドプロンプト画面で永遠にシャットダウンの命令が連続で表示されるだけで、 シャットダウンされません。 これは一番最初に検索されるパスは ・ なので 自分自身 shutdown.bat を永遠に呼び出し続けることになるからです。

leo-ultra
質問者

お礼

ご返事が遅くなってしまい申し訳ありません。

leo-ultra
質問者

補足

ご指摘ありがとうございました。 ファイル名にshutdownをいれるミスも犯しておりました。 確かに「Shutdown /s」だけの内容のbatファイルならばうまくいきました。 どうもbatファイルの他の部分が悪さをしていそうです。 問題のbatファイルを#4さんの補足に示しました。 どうもSet pathのあたりでミスをしていそうです。 Shutdownコマンドのpathはどこを選択すればいいのでしょうか?

  • 8ive22ty
  • ベストアンサー率52% (770/1479)
回答No.1

shutdown /s 1行だけのbatファイルを作って実行するとshutdownするはずですので、 batファイルだからshutdownしない、ということではないでしょう。 条件付きジャンプ処理などを行なっているということはありませんか。 batファイルの内容を見てみないと何とも言えないですね。 batファイルの内容をそのまま添付してみてください。

leo-ultra
質問者

お礼

「無反応」申し訳ありません。 昨日から本日夕方までネットにつなげない場所におりました。 もし、お怒りのようでしたら、お詫び申し上げます。

関連するQ&A