#事象
とあるバッチ(BAT1)をタスクスケジューラからキックした所、リターンコード0x1で終了してしまい動かせない。
■BAT1
@echo off
call .\bat2.bat
※bat2.batは同じディレクトリ内に格納されている。
#原因
指定が相対パスになっていた事が原因。
(理由不明。タスクスケジューラで実行する際、「場所」を指定しても相対パスは機能しない…?)
#解決策
該当部分を、絶対パスに書き換えた。つまり以下。
書換前
@echo off
call .\bat2.bat
書換後
@echo off
call D:\BAT\bat2.bat
#その他(切り分け結果)
なぜ相対パスで上手く行かないのか納得いかない。
が、取りあえず切り分け結果。
#####以下のバッチは動作した。
■BATTEST1
cd /d D:\BAT\
call .\bat2.bat
#####場所を"D:\BAT"に指定してBATTEST2を実行すると以下になる。
■BATTEST2
cd >> .\dir.txt
■dir.txt
D:\BAT
#####ただし、場所を"D:\BAT"に指定してBATTEST3を実行すると失敗する。
■BATTEST3
call .\bat2.bat
``