へっぽこヘタレシステム管理者の管理人です。
ひさびさに、システムトラブル(ヒューマンエラー)により・・・
AD【アクティブディレクトリー】のグループポリシーにログオンスクリプとを仕込むことになったのですが・・・
かなり久々の作業でしたので・・・
ほぼ完全に忘れており、簡単なバッチファイルの仕込みにかなり手こずりました。
まず、スタンドアロンで起動するバッチファイルを作ったのですが・・・
これがうまく動きません・・・
原因が分かってしまえば、単純なのですが・・・
最初それが分からずに、無駄に時間を浪費してしまいました。
コマンドとバッチファイルのファイル名を同じにすると・・・
さて、バッチファイルを作った時は、ファイルのファイ名を考えるのが面倒くさく・・・
コマンドと同じ名前を付けたのですが・・・
これが失敗でした。
上の画像は、一例ですが・・・
例えば・・・
【ping】を打つコマンドのバッチファイルを【ping.bat】とすると・・・
画面が、無限ループとなります。
おそらくですが・・・
バッファイファイル内の【ping】を実行すると・・・
【ping.exe】ではなく・・・
自分自身である【ping.bat】を実行してしまい、無限ループとなる様です。
これを避けるには・・・
下図の様にコマンドの記述を明示的に【ping.exe】とすると回避できるようです。
回避方法はコマンドとファイル名を同じにしないこと
といことで、この問題が発生しない様に回避するには・・・
コマンドとバッチファイルのファイル名を同じにしないことです。
この解決方法を、知ってからですが・・・
そういえば、ずいぶん前に同じことで悩んだことがあり、解決策も認識していたことを思い出しました。
今回は、すっかり忘れていたのですが・・・
まったく下らない事で時間を浪費しました。
文字コードも注意
また、日本語が含まれるバッチファイルを作成する際には・・・
文字コードも重要な様です。
Windows標準のメモ帳を使うと・・・
文字コードは【utf-8】となりますが・・・
日本語が含まれる場合は【ANSI】で保存する必要があります。
他のテキストエディタが使える場合は【SHIFT-JIS】でも問題ありません。
コメント