• ベストアンサー

タスクスケジューラによるファイル操作について

WindowsServer2003について質問です。 タスクスケジューラを利用し、月1で特定条件のファイル(1か月分のIISログ等)を指定して圧縮(形式は問わず)、同時に特定条件のファイルを削除するジョブを回したいと考えています。 この場合のジョブ作成方法をご存知でしたらお教え下さい。

質問者が選んだベストアンサー

  • ベストアンサー
noname#256877
noname#256877
回答No.3

う~ん、では・・・ FOR /F "TOKENS=1-3 DELIMS=/ " %%A IN ('DATE /T') DO SET DT=%%A%%B%%C これで、DTに日付がセットされます。 ex 20060130のようにセットされます 環境変数を使うとき %DT:~-6%のようにすると、最後の6文字が使用され060130のようになります。 この辺を参考にできませんか? あと、圧縮して不要となった生ログを削除し・・・っていうのは、圧縮のコマンドで移動(M)を指定しているので消えるはずです。 もしくは、明示的に消すのであれば上記の環境変数を使って削除すればよいのではないでしょうか?

その他の回答 (2)

noname#256877
noname#256877
回答No.2

バッチファイルなど組む必要ないかもしれません。 圧縮するツールなどで、元のファイルを移動する形式をとればいいんじゃないでしょうか? (いまさらLHAのコマンドなんかはないかもしれませんが、) LHA M 200601.lzh C:\WINDOWS\SYSTEM32\LOGFILE\W3SVX????\ex0601*.log) ツールにより、コマンドは異なりますので各ツールのマニュアルなどを見てくださいね

noname#26506
質問者

補足

すみません、そうすると人間の手作業が発生してしまいますよね?業務設計上、完全自動化にする必要があるのでご質問しております。 また圧縮していらなくなった生ログを削除し、常に生ログは1か月分にしておく必要が発生しています。

noname#256877
noname#256877
回答No.1

バッチファイルで可能と思われますが、特定条件がわからない限り、回答することはできません。 1)特定条件を教えてください。 2)前半に出てくる特定条件と、後半に出てくる特定条件は同じものでしょうか?

noname#26506
質問者

補足

ありがとうございます。 1)IISのログなので、ex060101.log~ex060131.logと言ったふうに月単位のログを条件として指定したいです。毎月1日から末日です(月や年が変わっても人の手が入る必要のないように、Windowsのタイマーから条件を拾える形で) 2)同じです

関連するQ&A