batch-file - 如何在CMD中指定文件夹目录中的多个通配符

标签 batch-file directory wildcard

我发现了关于目录中通配符的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/

相关文章:

makefile - GNU使通配符替代?

c++ - 将 strcmp C/C++ 用于 Arduino 时的数字通配符

vba - 在Excel中使用环境变量

java - Procrun 找不到服务的注册表项

android - 如何使用 Android 设备管理器删除 Android Studio 模拟器中的文件夹?

linux - 仅列出 linux 中的数字目录名称

sql-server - SQL Reporting Services 无法配置虚拟目录

api - laravel 4 使用通配符的模式过滤器

batch-file - 有批处理代码优化器这样的东西吗?

batch-file - 将 dos/batch 中的字符串添加到文件名