我需要確定目錄中的所有jpg文件是否有2位數的名稱(例如01,02,30,99)。如果他們不這樣做,他們需要重新命名。如果他們這樣做,他們已經重新命名,我不應該改變它們。如何使用批次測試非2位數的文件名
下面的測試代碼列出每個文件的名稱,如果名稱是兩位數字,則輸入「yes」,否則輸入「no」。 問題是它始終返回「否」文件08.jpg和09.jpg。我已經測試過幾個目錄。
@Echo off
SETLOCAL EnableDelayedExpansion
For %%G in (*.jpg) do (
Set "filename=%%~nG"
Set found=no
For /L %%H in (1,1,99) do (
If !filename! EQU %%H set "found=yes"
)
echo !filename! !found!
)
我用所有迪爾斯相同的命名蝙蝠,並認爲這可能會在一些奇怪的方式重命名08和09,但01至07是細而手動重命名08和09並沒有幫助。它可能是某種方式對於/ L增量?我還應該尋找什麼?
順便說一句,如果編號名稱之間存在「空白」 - 01,03,10,11是好的 - 所以我不需要檢查。
dir解決方案將會很好,但我不確定如何「轉向」這些列表文件列表** **不匹配2位數格式的文件 - 或只是找出是否有任何文件不匹配,所以我知道我必須重新命名。 Thx – sjoy 2015-02-06 05:53:37
將問題更改爲「非2位數」這可能是誤導。 – sjoy 2015-02-06 06:03:35
@sjoy findstr解決方案編輯 – npocmaka 2015-02-06 06:14:14