删除 windows 路径中具有特定命名模式的文件夹
Delete folders having particular naming pattern in a path in windows
我有一个包含 .exe 可执行文件和所需输入文件的目录。
对于每个单独的请求,在同一路径中创建一个单独的目录(格式为 Output_),并将相应的输出文件定向到那里。
现在我需要清除旧的输出目录。有人可以在 windows 中解释如何实现这一点。
我浏览了 forfiles 文档和其他堆栈溢出答案,但没有找到任何有关为需要删除的文件夹提供名称模式的信息,尽管此选项可用于文件删除。
我正在尝试下面的代码。但我也想指定文件夹模式,这样我就不会删除其他文件。
forfiles /p "C:\work\Analysis\" /d +7 /c "cmd /c IF @isdir == TRUE rd /S /Q @path"
这里是 Powershell 中的示例
$Now = Get-Date
$Hours = "4"
$TargetFolder = **!Folder in which old data exists!**
$LastWrite = $Now.AddHours(-$Hours)
$Folders = get-childitem -path $TargetFolder |
Where {$_.psIsContainer -eq $true} |
Where {$_.LastWriteTime -le "$LastWrite"}
foreach ($Folder in $Folders)
{
write-host "Deleting $Folder" -foregroundcolor "Red"
Remove-Item $TARGETFOLDER$Folder -recurse -Force
}
下面的命令为我完成了工作。 /M 也适用于目录。感谢 JJS 在 https://superuser.com/q/764348
上的回答
forfiles /P C:\work\Analysis\ /M guid_* /d +5 /C "cmd /c if @isdir==TRUE rmdir /s /q @file"
现在我需要清除旧的输出目录。有人可以在 windows 中解释如何实现这一点。 我浏览了 forfiles 文档和其他堆栈溢出答案,但没有找到任何有关为需要删除的文件夹提供名称模式的信息,尽管此选项可用于文件删除。
我正在尝试下面的代码。但我也想指定文件夹模式,这样我就不会删除其他文件。
forfiles /p "C:\work\Analysis\" /d +7 /c "cmd /c IF @isdir == TRUE rd /S /Q @path"
这里是 Powershell 中的示例
$Now = Get-Date
$Hours = "4"
$TargetFolder = **!Folder in which old data exists!**
$LastWrite = $Now.AddHours(-$Hours)
$Folders = get-childitem -path $TargetFolder |
Where {$_.psIsContainer -eq $true} |
Where {$_.LastWriteTime -le "$LastWrite"}
foreach ($Folder in $Folders)
{
write-host "Deleting $Folder" -foregroundcolor "Red"
Remove-Item $TARGETFOLDER$Folder -recurse -Force
}
下面的命令为我完成了工作。 /M 也适用于目录。感谢 JJS 在 https://superuser.com/q/764348
上的回答forfiles /P C:\work\Analysis\ /M guid_* /d +5 /C "cmd /c if @isdir==TRUE rmdir /s /q @file"