我寫了一個簡單的powershell腳本,用於將目錄備份到C:\,然後在其年齡= X天時刪除任何備份文件夾。出於某種原因,當我使用remove-item cmdlet時,出現「Remove-Item:Can not find path'C:\ Windows \ system32 \ [Sub-Folder name]',因爲它不存在」錯誤。Powershell - 使用remove-item cmdlet時找不到路徑
下面是摘錄:
$TargetFolder = "C:\Folder\"
$Folders = get-childitem -path $TargetFolder
foreach ($Folder in $Folders)
{
remove-item $Folder -recurse -force
}
內$ TargetFolder = 「C:\文件夾\」 有幾個子文件夾。 例如: 「C:\文件夾\ SubfolderA」, 「C:\文件夾\ SubfolderB」 等
當我寫主機$文件夾它列出SubFolderA,SubFolderB等,正確的,所以我不完全確定爲什麼我得到「無法找到路徑」錯誤。
任何援助非常感謝。謝謝。
那麼你爲什麼這樣做呢?爲什麼不只是Remove-Item -Recurse -Force $ targetfolder? – 4c74356b41
我不想刪除$ TargetFolder中的所有內容。我只想刪除已達到特定年齡的備份文件夾。這是腳本。@ 4c74356b41 '代碼 $現在=獲取最新 $天= 「5」 $ TargetFolder = 「C:\文件夾\」 $ LastWrite = $ Now.AddDays( - $天) $文件夾= GET -childitem -path $ TargetFolder | 其中{$ _。psIsContainer -eq $ true} | 其中{$ _。LastWriteTime -le 「$ LastWrite」} 的foreach($文件夾中$文件夾) { \t刪除,項目-path $文件夾-Recurse -Force } 'code' – Mike
OK,首先所有你想要使用get-childitem -directory,以避免另一個管道。也沒有意義調用$ now.adddays,直接調用(Get-Date).AddDays。此外,嘗試在刪除項目 – 4c74356b41