使用通配符删除超过 30 天批处理脚本的多个文件
Delete multiple files older then 30 days batch script with wildcard
我想知道如何使用批处理命令删除不同文件夹中的多个文件。
我有以下代码,此代码适用于 1 张地图,但我需要为多张地图执行此代码:
forfiles /p "D:\CHILI_Publisher\Data\Environments\Adecco\Cache_Data\Assets" /s /d -10 /c "cmd /c echo @file"
PAUSE
这是各种带通配符的地图和各种文件类型的代码(这个报错:目录名无效:
forfiles /p "D:\CHILI_Publisher\Data\Environments\*.*\Cache_Data\*.*" /s /d -10 /c "cmd /c echo @file"
PAUSE
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_DATA
的文件夹,您可以导航到超级文件夹 (cd D:\CHILI_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
如果您将脚本放在 BATCH
文件中,请记住使用 %%
.
转义 %
我想知道如何使用批处理命令删除不同文件夹中的多个文件。
我有以下代码,此代码适用于 1 张地图,但我需要为多张地图执行此代码:
forfiles /p "D:\CHILI_Publisher\Data\Environments\Adecco\Cache_Data\Assets" /s /d -10 /c "cmd /c echo @file"
PAUSE
这是各种带通配符的地图和各种文件类型的代码(这个报错:目录名无效:
forfiles /p "D:\CHILI_Publisher\Data\Environments\*.*\Cache_Data\*.*" /s /d -10 /c "cmd /c echo @file"
PAUSE
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_DATA
的文件夹,您可以导航到超级文件夹 (cd D:\CHILI_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
如果您将脚本放在 BATCH
文件中,请记住使用 %%
.
%