我有一个看起来像这样的目录
“ C:\ sales \ client1 \ file1”。
client1文件夹不是静态的,并且可能在client1到client100之间变化,并且client文件夹内的每个文件在file1到file8之间都会变化。
我想使用一批超过7天(d-7)的掩码(/ m file1 *),在每个客户端文件夹中删除4个特殊文件(例如file1,file3,file6和file8)。
到目前为止,我尝试过的每种解决方案都可以在指定目录下使用
谢谢
答案 0 :(得分:1)
由于掩码是文件,因此@path
将包含文件名
您必须将CD \..
附加到该文件夹后@path\..
所以尝试:
forfiles /P C:\Sales /S /M file1* /D -7 /C "cmd.exe /c @cd /D @path\..&del file1 file3 file6 file8"
此命令还将直接在C:\Sales
中找到符合条件的文件1
使用PowerShell的更合理的解决方案
Get-ChildItem "C:\Sales\Client*\file1" -File |
Where LastWriteTime -lt (Get-Date).Date.AddDays(-7)|
ForEach-Object {
PushD $_.Directory
Remove-Object file[1368]
PopD
}