Windows
PowerShell 根據文件夾名稱中的截止日期刪除目錄
我最近整理了一個 PowerShell 腳本,該腳本以以下格式**“yyyyMMddHHmm”創建按日期命名的目錄**
我一直在嘗試做的是弄清楚如何返回並讓腳本(或只是創建一個新腳本)自動刪除任何超過三天的目錄。我希望能夠提取文件夾的名稱(如以上述格式讀取日期)並將其作為決定因素,但我不確定我什至從哪裡開始。我想知道這些步驟是什麼以便我可以分解它會有所幫助。
以前有人用 PowerShell 嘗試過這樣的事情嗎?
怎麼樣…
# Find today's date and calculate 3 days ago: $today = get-date -DisplayHint date $threeDaysAgo = $today.AddDays(-3) # Get the folder list $folders = (gci "c:\somwhere\" | where-object {$_.PSIsContainer -eq $True}) foreach ($f in $folders) { # Parse the date from the folder name text and turn into a date object $folderdate = get-date -year $f.Name.substring(0,4) -month $f.Name.substring(4,2) -day $f.Name.substring(6,2) # compare and do stuff if ($folderdate -lt $threeDaysAgo) { write-host $f.Name # do delete here if needed } }
您需要根據口味進行調整,並確定是否需要刪除目錄、刪除內容或更多內容,但無論如何,這應該適用於日期部分。