カテゴリー

30日前ファイル名のフォルダを同じフォルダ内にzip圧縮した後、元のフォルダを消す

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。

前提として、毎回何かの情報を集める際にYYYYMDDフォルダを作成して、その配下に格納するということをやっておくと、このようなスクリプトで対象を指定しやすくなります。いくつかを列記して1日のどこかで実行するようにスケジュールすれば、ファイルサーバの容量を節約できます。

FOR /F "usebackq" %%a IN (`powershell [DateTime]::Today.AddDays"("-30")".ToString"("'yyyyMMdd'")"`) DO SET yesterday1=%%

"C:\Program Files (x86)\Lhaplus\Lhaplus.exe" /c:zip /n:"C:\Users\hoge\Documents\work\%yesterday1%.zip" C:\Users\hoge\Documents\work\%yesterday1%
echo Y|rmdir /s C:\Users\hoge\Documents\work\%yesterday1%
echo work配下の%yesterday1%の圧縮,削除が完了しました %time% >> /path/to/log.txt

"C:\Program Files (x86)\Lhaplus\Lhaplus.exe" /c:zip /n:"C:\Users\hoge\Documents\work2\%yesterday1%.zip" C:\Users\hoge\Documents\work2\%yesterday1% 
echo Y|rmdir /s C:\Users\hoge\Documents\work2\%yesterday1% 
echo work2配下の%yesterday1%の圧縮,削除が完了しました。 %time% >> /path/to/log.txt

.
.
.

ちなみにLhaplusは該当のフォルダが無ければ圧縮ウィンドゥなども立ち上がらないので、動いていないように見えてしまいますが、問題はないです。

削除ということで、念のため、標準出力と標準エラー出力をリダイレクトしてログを取得するには以下のように記述します。

echo Y|rmdir /s C:\Users\hoge\Documents\work\%yesterday1% >> /path/to/delete.log 2>&1

 

 

【PR】最近楽天で購入した商品

子供が児童館に置いてあったおもちゃでみて気に入って、欲しいとのことで購入。大人もぼーと見てられて、なかなか良い。【期間限定ポイントUP】日本製 【 オフィス弥生 】 プレイタイマー 1個 【 水車 タ [...]

PC側のUSBポートをあまり疲弊させたくないので、延長ケーブルをよく使うのですが、こちらはちょっとだけ延長してしかも自由に固定できるので重宝しています。ミヨシ(Miyoshi) MCO フレキシブルな [...]

タコのように曲がる三本足で引っかかるところがあればどこでもくっつき、かなり明るい。防犯用に家の周りの暗がりはこれでカバー。ムサシ RITEX どこでもセンサーライト300 ASL-097価格:3,39 [...]