2014-04-03 32 views
1

我發現this post關於目錄中的通配符。但是,我的問題是,我的靜態目錄之間有多個不同的目錄名稱。例如:如何在CMD中的文件夾目錄中指定多個通配符

○:\ 123456客戶端名稱\彈簧\射擊1 12345 \ 01 MHP 01 \ PlCache \藍綠\
○:\ 121212別人\春\射擊1 21212 \ 01 MHP 02 \ PlCache \藍綠\

上面的鏈接只允許一個通配符目錄而不是多個。

在這些GreenScreen文件夾中,我有我想要刪除的.png文件。我將如何編寫一個刪除* .png的O:\ * \ GreenScreen \中的.bat文件?

回答

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 DELDEL實際刪除文件。

我已經更改爲起始目錄U:以適合我的系統。

+0

這完美的作品!謝謝!我無法想象自己拯救了我的生命 – user3493832

0

這裏有一個更簡單的選項 - 它也將del命令回顯到屏幕,直到您刪除echo關鍵字。

@echo off 
for /d /r "o:\" %%a in (GreenScreen*) do if /i "%%~nxa"=="GreenScreen" echo del "%%a\*.png" 
相關問題