前提
batファイルを作成し、Windows10のタスクスケジューラで実行しています。
タスクスケジューラは「ユーザーがログオンしているかどうかに関わらず実行」「最上位の特権で実行」
実現したいこと
bat処理でファイルをリネームし、別フォルダに移動しようとしています。
発生している問題・エラーメッセージ
タスクスケジューラのトリガーが毎日4回ほど実行されていますが、
最初の1回が必ず移動の処理に失敗します。(以降3回はリネーム、移行が完了します)
ただし、errorlevelは0で出力されます。
試したこと
最初は
echo 送信 は正常終了しました >> %LGF%
MOVE C:\TEST\SD0100000001.dat C:\TEST\tmp%DATE:/=%_%time:~0,2%%time:~3,2%%time:~6,2%_SD0100000001.dat
echo DATファイルを退避しました。結果:%errorlevel% >> %LGF%
と実装していました。
これで
送信 は正常終了しました
DATファイルを退避しました。結果:0
と出力されました。
その後、MOVEコマンドが悪いのかと思い、
renでリネーム後、robocopyにて移動させる処理を入れました。
echo 送信 は正常終了しました >> %LGF%
ren C:\TEST\SD0100000001.dat %DATE:/=%_%time:~0,2%%time:~3,2%%time:~6,2%_SD0100000001.dat
echo ファイルリネーム結果:%errorlevel% >> %LGF%
robocopy C:\TEST C:\TEST\tmp *.dat /MOV
echo ファイル移行結果:%errorlevel% >> %LGF%
この時のログは
送信 は正常終了しました
ファイルリネーム結果:0
ファイル移行結果:0
となっており、すべて正常終了してるログが出ていますが、
C:\TEST\tmpにはSD0100000001.dat
で保存されていました。(robocopyは上手く行ってるがリネームされていない)
補足情報(FW/ツールのバージョンなど)
実行PC:Windows10 2004

回答1件
あなたの回答
tips
プレビュー