【Windows】タスクスケジューラに設定したスクリプトが動作しないときに確認する点

ファイルの定期的なコピーをするため、robocopyをタスク起動したい。
そこでRoboSync(https://n-archives.net/)で出力したスクリプトを使用してタスクを作成しました。
しかし”5分ごとに起動”としても動かない……。

環境変数の部分を消したら動作した

出力したスクリプトに“CD /D %TEMP%”という記載がありました。
言うほどCDする必要ないやろ、と消してみたところ、5分ごとに保存が実行されるようになりました。
つまり、robocopy部のみにしたスクリプトにしました。

感想

RoboSyncで作成されたスクリプトのままで
手で(ダブルクリックで)batを実行しても動作したし、
タスクスケジューラ内で手動実行しても動作していました。

一体なにがダメだったんでしょうかねぇー。
そのままでもタスク起動できると思うんですけどなぜできなかったんでしょうかね。不思議ですね。

手動実行したら動くのに、なぜタスクで5分ごと起動になると急にダメになる?
環境変数のとこほんまに関係あるんやろか?
動作したんやから、ままエアロ(まぁまぁええやろ)。
ググった感じ、環境変数とタスクスケジューラは相性悪いような記事もありましたので関係ないことはないのではないかと考えています。
スクリプトが動かない方は、一度環境変数を使用していないか確認してみてください。
(代替手段は絶対パスで書くくらいしか思いつきません)

ということで、参考までに行った設定は下記です。

繰り返し設定はこんな感じです。

としていますが”最上位の特権で実行する”じゃなくても動作しました。
(ログオンしているアカウントよっては、コマンドやアクセス権限との兼ね合いで必須でしょう)

ここはスクリプトの場所だけ記入しています。
どこかの記事で”開始(オプション)”に入れておく必要ある、というのを見かけたので最初入れていました。
今は画像のように”開始(オプション)”なしでも元気に動作しています。

他設定は基本的にデフォルトでよいかと思います。
(触りすぎてデフォルトがもうよくわからない)
「だったら一から作ったやつと比較すればいいだろ」(CV:玄田哲章)
ということで見たところデフォルトぽいです。

最後にタスクスケジューラの右側の”操作”部分を確認しましょう。
こちらはデフォルトで有効状態になっていましたが、念のため”すべてのタスク履歴を無効にする”(有効になっている)となっているか確認しておきましょう。
有効になっていたら履歴タブに履歴が追加されていきます。

以上、よろしくお願いいたします。

コメント

タイトルとURLをコピーしました