我发现了关于目录中通配符的this post。但是,我的问题是我的静态目录之间有多个不同的目录名称。例如:
O:\123456 客户端名称\Spring\Shoot 1 12345\01 MHP 01\PlCache\GreenScreen\
O:\121212 其他人\Spring\Shoot 1 21212\01 MHP 02\PlCache\GreenScreen\
上述链接仅允许使用一个通配符目录,而不是多个。
在这些 GreenScreen 文件夹中,我有想要删除的 .png 文件。我将如何编写删除 O:\*\GreenScreen\中的 *.png 的 .bat 文件?
最佳答案
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET "sourcedir=U:"
FOR /f "tokens=1*delims=" %%a IN (
'dir /s /b /a-d "%sourcedir%\*.png" '
) DO (
SET "targetpath=%%~pa"
IF "!targetpath:~-13!"=="\GreenScreen\" ECHO DEL "%%a"
)
GOTO :EOF
所需的 DEL 命令仅出于测试目的而进行 ECHO
编辑。 验证命令正确后,将 ECHO DEL
更改为 DEL
以实际删除文件。
我已将起始目录更改为 U:
以适合我的系统。
关于batch-file - 如何在CMD中指定文件夹目录中的多个通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22838599/