2017-01-06 81 views
-2

我在下面的格式有文本文件中讀取並獲取文件名 - Filelist.txt中需要一個PowerShell腳本從文本文件

2017-01-05 13:27:35   0 logs/ 
2017-01-06 03:08:10  798 logs/Logs_2016-01-06.zip 
2017-01-05 14:23:45   0 logs/logs/ 
2017-01-06 03:08:10  798 logs/Logs_2016-06-06.zip 
2017-01-06 03:08:10  798 logs/Logs_2016-04-06.zip 
2017-01-06 03:08:10  798 logs/Logs_2016-04-06.zip 
2017-01-06 03:08:10  798 logs/Logs_2016-03-06.zip 

我需要一個PowerShell腳本在此文件中的如來獲取所有的文件名:Logs_2016-03-06.zip,其日期子字符串從當前日期起超過30天,並將其從磁盤中刪除。

我希望這個問題能解釋我的問題。

+1

你能顯示你當前的腳本,以便我們可以看到你已經嘗試過嗎? – Jonas

回答

0

只需使用一些字符串函數將文本轉換爲psobject,使用New-Timespan即可獲取日期。像這樣的:

Get-Content your_file.txt | % { 
    New-Object psobject -Property @{ 
    days = (New-Timespan -start (Get-Date $_.Substring(0, 19)) -end (Get-Date)).Days 
    file = $_ -replace '^.*\s\s\d+\s(.+)$', '$1' 
    } 
} | ? {$_.file -match '\.' -and $_.days -gt 30} | % { 
    Remove-Item $_.file 
} 
+0

感謝戴夫這將解決這個問題。 –

相關問題