Windowsのタスクスケジューラでバッチファイルを実行しようとして、バッチファイルがうまく実行できないことがありました。
他のバッチファイルは実行できるのですが、特定のバッチファイルのみが実行できず、しかもタスクスケジューラは何が問題か教えてくれないので、原因が特定できず少しハマってしまいました。
その原因はずばり、カレントディレクトリにありました。
バッチファイルをエクスプローラーやコマンドプロンプトから実行しているときは、結果的にバッチファイルのディレクトリがカレントディレクトリになっているのですが、タスクスケジューラから実行する場合は、カレントディレクトリがバッチファイルのディレクトリになっていないのです。
そこで、バッチファイルの先頭にcdコマンドを挿入し、バッチファイルのディレクトリに移動するようにします。
cd C:\batch_dir
これでうまくいったのですが、その後、環境を変えた時にこれでもうまくいかないことがありました。
それはドライブが変わった時です。その場合はさらにカレントドライブも変更します。
D:
cd D:\batch_dir
つまらないところでハマってしまいました。
1 件のコメント:
同じく、ハマっててこの記事で思い出しましたwありがとうw
コメントを投稿