-3

我有一个看起来像这样的目录

“C:\sales\client1\file1”。

client1 文件夹不是静态的,可以从 client1 到 client100 变化,并且客户端文件夹中的每个文件都可以从 file1 到 file8 变化。

我想删除每个客户端文件夹中的 4 个特定文件(例如 file1、file3、file6 和 file8),基于使用批次超过 7 天 (d-7) 的掩码 (/m file1*)。

到目前为止,我尝试过的每个解决方案都适用于指定目录

谢谢

4

1 回答 1

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

使用 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
    }
于 2019-03-07T12:40:08.413 回答