我有一个看起来像这样的目录
“C:\sales\client1\file1”。
client1 文件夹不是静态的,可以从 client1 到 client100 变化,并且客户端文件夹中的每个文件都可以从 file1 到 file8 变化。
我想删除每个客户端文件夹中的 4 个特定文件(例如 file1、file3、file6 和 file8),基于使用批次超过 7 天 (d-7) 的掩码 (/m file1*)。
到目前为止,我尝试过的每个解决方案都适用于指定目录
谢谢
我有一个看起来像这样的目录
“C:\sales\client1\file1”。
client1 文件夹不是静态的,可以从 client1 到 client100 变化,并且客户端文件夹中的每个文件都可以从 file1 到 file8 变化。
我想删除每个客户端文件夹中的 4 个特定文件(例如 file1、file3、file6 和 file8),基于使用批次超过 7 天 (d-7) 的掩码 (/m file1*)。
到目前为止,我尝试过的每个解决方案都适用于指定目录
谢谢
由于您的掩码是一个文件,并且@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
使用 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
}