使用通配符删除早于30天批处理脚本的多个文件

时间:2015-11-05 07:52:50

标签: batch-file 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:我有一个错误,想知道如何在批处理文件中正确使用通配符。

1 个答案:

答案 0 :(得分:1)

您可以将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

如果您将脚本放在%文件中,请记得使用%%转义SELECT * FROM hotel LEFT JOIN hotel_pictogram_mm ON hotel.uid=hotel_pictogram_mm.uid_local LEFT JOIN pictogram ON hotel_pictogram_mm.uid_foreign=pictogram.uid WHERE pictogram.id = 3 AND pictogram.id = 5