もくじ
削除1
■更新日が○日数以上前のデータを削除する
FORFILES /P ディレクトリパス /D -日数 /C "cmd /c rmdir /s /q @file"
具体例
FORFILES /P F:\hoge\backup\APP /D -20 /C "cmd /c rmdir /s /q @file"
// コメントharap様より
// @fileより@pathの方が適切かもしれません。
○オプション
- /s 再帰的に削除
- /q 確認メッセージを出さない
PS G:\test\lab> FORFILES /P G:\test\lab /D -20 /C "cmd /c rmdir /s /q @file"
DELコマンドのオプションで/F(読み取り専用のファイルも強制削除)、/Q(確認メッセージを出さない)を行っています。
削除2
@see http://itmemo.net-luck.com/windows-vbscript-backup-2/
例)2016/03/10日以前のフォルダを削除する
forfiles /p "ファイルあるパス" /D -2016/03/10 /c "cmd /c IF @isdir==TRUE rmdir /S /Q @file"
例)2016/03/10日以前のファイルを削除する
forfiles /p "ファイルあるパス" /D -2016/03/10 /c "cmd /c del /F /S /Q @file"
@see http://itmemo.net-luck.com/windows-forfiles/
#最終更新日から30日以上経過したログファイル削除
FORFILES /P C:\test\log /S /M *.log /D -20 /C "cmd /c del @file"
#最終更新日が2015年12月1日以前のログファイル削除
FORFILES /P C:\test\log /S /M *.log /D -2015/12/01 /C "cmd /c del @file"
更新日変更
@see http://piyopiyocs.blog115.fc2.com/blog-entry-1011.html
作成日時変更
powershell -Command $item = Get-Item -LiteralPath C:\hoge.txt;$item.CreationTime = Get-Date '2015/12/29 01:23:45'
更新日時変更
powershell -Command $item = Get-Item -LiteralPath C:\hoge.txt;$item.LastWriteTime = Get-Date '2015/12/29 01:23:45'
全般的に「@file」というよりも「@path」のほうがよさげな気がするし、「/D -20」は正確には「20日前」ではなく「20日以上前」ではないかと思うのだが。
>harapさん
記事内について修正、追記させて頂きました。
ご指摘有難う御座います。