我有一个包含.exe可执行文件和所需输入文件的目录。 对于每个单独的请求,在相同的路径中创建单独的目录(格式为Output_),并且相应的输出文件指向那里。
现在我需要清除旧的输出目录。有人可以解释如何在Windows中实现这一点。 我查看了forfiles文档和其他堆栈溢出答案,但没有找到有关为需要删除的文件夹提供名称模式的任何信息,尽管此选项可用于删除文件。
我正在尝试以下代码。但我想指定文件夹模式,以便我不删除其他文件。
forfiles /p "C:\work\Analysis\" /d +7 /c "cmd /c IF @isdir == TRUE rd /S /Q @path"
答案 0 :(得分:0)
这是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
}
答案 1 :(得分:0)
下面的命令为我完成了这项工作。 / 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"