- PR -

windows2003でシャットダウンコマンド(bat)でのシャットダウンが出来ない

1
投稿者投稿内容
dchar
常連さん
会議室デビュー日: 2004/05/10
投稿数: 41
投稿日時: 2005-06-29 16:52
おせわになります。

windows2003サーバにて

echo %date% start reboot >> ログファイルのパス
shutdown /r

と書いた.batファイルを実行してサーバの定期再起動をしようとしているのですが、
うまくいきません。

現象としてはコマンドプロンプトに何度も繰り返されて、
永遠にプロンプト表示が続いてしまいます。

バッチを書くとたまに無限に同じコマンドを読むことがあるのですが、
これは何が原因なのでしょうか?

こころあたりございましたらご教授ください。
よろしくおねがいいたします。
Mattun
ぬし
会議室デビュー日: 2004/08/10
投稿数: 1391
投稿日時: 2005-06-29 17:00
2行だけのバッチなんだから、せめて1行目と2行目どっちが問題なのかくらいは
切り分けしてください。

多分、そのバッチファイルの名前が「shutdown」なんでしょう。
バッチからコマンド呼び出す際には、PATHに頼る書き方しちゃ駄目です。
dchar
常連さん
会議室デビュー日: 2004/05/10
投稿数: 41
投稿日時: 2005-06-30 11:34
ありがとうございます。

バッチ名に使っているコマンドの名前を指定してはだめなのですね。
無限にコマンドを呼び続けるのはこれが原因なのでしょうか?
どのような仕組みになっているのでしょうか?

お時間取れるときにでも解説いただければ幸いです。
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2005-06-30 11:52
バッチファイルは所詮コマンドを手入力するのが
面倒だからファイルに纏めて実行しちゃえ。

ってだけです。

引用:

2行だけのバッチなんだから、せめて1行目と2行目どっちが問題なのかくらいは
切り分けしてください。


と書いている様にそれぞれ1行のバッチファイルを作って、
それを実行してみればどちらの行が原因かはわかるのでは?

で、原因がわかっている行が解ったら、今度はその行を
分解して切り分けていけば原因はわかるのでは無いでしょうか?

書いているコマンドが、バッチファイルなのか、それともコマンドなのか
詳細は解りませんが。

引用:

バッチからコマンド呼び出す際には、PATHに頼る書き方しちゃ駄目です。


コマンドプロンプトでPATHと打てば現在のPATHが表示されます。
PATHが通っている(表示される)所にあるコマンドやバッチファイルしか
ファイルの在処を探せません。

それから

引用:

現象としてはコマンドプロンプトに何度も繰り返されて、
永遠にプロンプト表示が続いてしまいます。

バッチを書くとたまに無限に同じコマンドを読むことがあるのですが、
これは何が原因なのでしょうか?


とかかれていますが、どの様な表示がされるのかを確認していますか?
文章からは同じコマンドを何回も実行しようとしている様にしか見えませんが
エラーメッセージとか表示されていると思いますが。

その内容と上記の切り分けをすれば原因は特定出来るはずです。
また、解らなければgoogleで「バッチファイル」とかで検索すれば
いろいろと情報は出てくるでしょう。 
otoha
会議室デビュー日: 2005/06/24
投稿数: 10
投稿日時: 2005-06-30 13:26
バッチファイルの名前が「shutdown.bat」であった場合に限りますが、、、

同じフォルダに同じ名前の exe と bat があった場合、先に実行されるのは exe です。
無かった場合、bat が「あれば」実行されます。それでも「無かった場合」に環境変数のpath
をサーチします。

したがって、以下の流れが推測されます。

1. shutdown.bat 起動
2. 1行目のecho の行はさりげなく実行
3. 2行目、カレントに shutdown.exe は・・・無い!!
4. しかし、shutdown.bat は・・・あった!!
5. で、1 に戻る・・・

こんな感じではないでしょうか。

(私は同じ経験アリ)
1

スキルアップ/キャリアアップ(JOB@IT)