2017-11-16 12 views
-1

6か月以上経過している私のシステムでファイルを手動で削除していますが、プロセスを自動化したいのですが、それはpowershellで可能でしょうか?それはかなり新しいです!6か月以上経過した古いバックアップファイルを削除するpowershellスクリプト

6か月以上経過したファイルを削除します。 どのような助けも非常に招待されるでしょう!

+0

[PowerShellを使用して15日以上経過したファイルを削除する](https://stackoverflow.com/questions/17829785/delete-files-older-than-15-days-using-powershell) –

答えて

0
$ToDeleteLimit = (Get-Date).AddMonths(-6) 
Get-ChildItem -Path \\PathToYourBackup -Recurse -Force | Where-Object { $_.LastWriteTime -lt $ToDeleteLimit } | Remove-Item -Force 

ファイルを隠し削除したり、読み取り専用にサブディレクトリやForceパラメータを反復処理するRecurseパラメータを使用します。

0

だからVivek Kumarさんの行はうまくいきますが、重要なメモが1つあります。その理由は私が答えとしてコメントではなく投稿しているからです。

これは動作しますが、古いファイルをカット/ペーストすると、作成日も貼り付けられるので注意してください。あなたのハードドライブに2年間保存されているファイルをカットアンドペーストすると、あなたのスクリプトはあなたの最初の実行時にそれを削除します(あなたの6ヶ月後ではありません)。コピー/貼り付けすると、作成日はコピーした日付になります。

+0

はい、ユーザーが他のフォルダ内のファイルをコピーしている場合、作成時刻はユーザーがコピーした時刻に変更されます。コピー操作が既存のファイルと同じフォルダで実行されると、新しくコピーされたファイルは 'SomeFileName Copy'という名前に変更されます。 'CreationTime'パラメータにより、新しくコピーされたファイルが削除されることがあります。その場合、 'LastWriteTime'パラメータを利用することができます。答えの変化を見てください。 –