0
我正在通過PowerShell創建每週備份文件。每個月我想刪除上個月的所有備份文件。 目前我的文件名看起來像這樣:使用PowerShell刪除上個月的文件
08.18.2015_username_ChromeBookmarks
凡使用get-date
cmdlet創建的日期。 這是最好的方法嗎?
我正在通過PowerShell創建每週備份文件。每個月我想刪除上個月的所有備份文件。 目前我的文件名看起來像這樣:使用PowerShell刪除上個月的文件
08.18.2015_username_ChromeBookmarks
凡使用get-date
cmdlet創建的日期。 這是最好的方法嗎?
也許這將有助於:如果這是必需的目錄
ls . | ? -Property Name -Match "0?$((get-date).Month-1)\.\d{1,2}\.\d{2,4}_.*" | del
也應謹慎服用。請參閱pushd
和popd
以臨時更改當前目錄。
下面是一個更容易閱讀的解決方案,但它使用的是文件的實際創建時間,而不是文件名來獲取日期。
Get-ChildItem -File | ?{ $_.CreationTime.Month -eq $((Get-Date).AddMonths(-1)).Month } | Remove-Item
@ campbell.nw這是可悲的不工作。它不會刪除文件。如果我理解正確,這也只會從當前日期剛好一個月前刪除這些文件。 –
'$((Get-Date).AddMonths(-1))。Month' rather。否則在1月全部比較失敗:) –
我們現在在第9個月,但從第8個月的文件都沒有被刪除? –