我写了一个简单的PowerShell脚本来备份目录C:\
,然后在其年龄= X天时删除任何备份文件夹.
出于某种原因,当我使用Remove-Item
cmdlet时,我遇到了Remove-Item: Cannot find path 'C:\Windows\system32\ [Sub-Folder name]' because it does not exist
错误.
以下是片段:
$TargetFolder = "C:\Folder\"
$Folders = get-childitem -path $TargetFolder
foreach ($Folder in $Folders)
{
remove-item $Folder -recurse -force
}
Run Code Online (Sandbox Code Playgroud)
在其中$TargetFolder = "C:\Folder\"
,有几个子文件夹.例如:C:\Folder\SubfolderA
,C:\Folder\SubfolderB
,等.
当我做Write-Host
了$Folder
它列出SubFolderA
,SubFolderB
等等,正确的,所以我不知道是什么原因,我得到一个Cannot find path
错误.
您似乎希望在LastWriteTime目录的基础上执行此操作,但您没有在Get-ChildItem上提及-Directory.
[cmdletbinding()]
Param()
$TargetFolder = "C:\Users\lit\Documents"
$Folders = Get-ChildItem -Path $TargetFolder -Directory
$Days = 80
foreach ($Folder in $Folders) {
if ($Folder.LastWriteTime -lt (Get-Date).AddDays(-$Days)) {
Write-Verbose "Deleting directory $($Folder.FullName)"
Remove-Item -WhatIf "$($Folder.FullName)" -Recurse -Force
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7140 次 |
最近记录: |