我在目录中找到了关于通配符的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文件?
答案 0 :(得分:2)
@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:
以适合我的系统。
答案 1 :(得分:0)
这是一个更简单的选项 - 它还会将del命令发送到屏幕,直到您删除echo
关键字。
@echo off
for /d /r "o:\" %%a in (GreenScreen*) do if /i "%%~nxa"=="GreenScreen" echo del "%%a\*.png"