Batch file 使用通配符删除30天以前的多个文件批处理脚本
我想知道如何使用批处理命令删除不同文件夹中的多个文件 我有以下代码,此代码适用于1个贴图,但我需要对多个贴图执行此操作:Batch file 使用通配符删除30天以前的多个文件批处理脚本,batch-file,wildcard,Batch File,Wildcard,我想知道如何使用批处理命令删除不同文件夹中的多个文件 我有以下代码,此代码适用于1个贴图,但我需要对多个贴图执行此操作: forfiles/p“D:\CHILI\u Publisher\Data\Environments\Adecco\Cache\u Data\Assets”/s/D-10/c“cmd/c echo@file” 暂停 这是使用通配符的各种映射和各种文件类型的代码(此代码给出了一个错误:目录名无效: forfiles/p“D:\CHILI\u Publisher\Data\Envi
forfiles/p“D:\CHILI\u Publisher\Data\Environments\Adecco\Cache\u Data\Assets”/s/D-10/c“cmd/c echo@file”
暂停
这是使用通配符的各种映射和各种文件类型的代码(此代码给出了一个错误:目录名无效:
forfiles/p“D:\CHILI\u Publisher\Data\Environments\*.\Cache\u Data\*.*.”/s/D-10/c“cmd/c echo@file”
暂停
Tl;DR:我有一个错误,想知道如何在批处理文件中正确使用通配符。您可以将
FORFILES
包装到FOR
循环中:
for /d %D in (c:\temp\a*;c:\temp\b*;c:\temp\c*) do forfiles /p %D /s /c "cmd /c echo @file" /d -10
如果需要在超级文件夹下查找名为CACHE\u DATA
的所有文件夹,可以导航到超级文件夹(cd D:\CHILI\u Publisher\DATA\Environments
)并运行以下操作:
for /f %F in ('dir /B /S /AD cache_data') do for /d %D in (%F) do forfiles /p %D /s /c "cmd /c echo @file" /d -10
如果将脚本放入批处理文件中,请记住用
%%退出%%
,为什么*。不仅*我编辑了我的代码-仅用*它仍然会出错。@amitdayamaK谢谢,但是您必须重复每个路径(将所有路径放入循环中).或者有没有办法定义一个路径?这里的主要问题是,您需要访问路径中的所有文件,然后在此(通配符)文件夹之后继续,然后继续到下一个文件夹..但是这些文件夹的结构都是相同的。。