2012年3月24日土曜日

Windows2008R2 タスクスケジュールでネットワークドライブ内のデータを削除する方法

バッチファイルを直接たたくと動作するのに、タスクスケジューラでは実行できないという現象。
解決できたので備忘録としてまとめ。

1.バッチファイルは次のようにすべし。
net use Z: "\\サーバ名\共有フォルダ名"
for /D %%f in (Z:\*) do rd /S /Q %%f
del Z:\*.* /q
net use Z: /delete
1行目と4行目が抜けてると、だめ。
(これに気がつかなかった・・・ログインしてると、すでにドライブが見えている設定だったので、2,3行目のスクリプトだけでいいんだと思ってしまった。実際、バッチファイルたたくと動作してたから完全に騙された笑)

2.タスクスケジューラの「操作の編集」ダイアログにある
開始(オプション)という欄に上記バッチファイルのパスを記述する。

理解の深い方は、そもそもこんなことで困らないんだろうなぁ・・・
私みたいなのは、ネットで調べてもなかなかわからなくて本当に参った。
私以外にも困ってる人いると思うんだよね。

1 件のコメント:

  1. こちらの記事、大変参考になりました! 2012R2でタスクでPowershellを実行する際もやはり同じ内容でハマっており、大変助かりました。

    返信削除