有兩個文件名:0_1_en.pdf和GEN 0 GENERAL.html。如果變量%% H中的html文件符合規則「GEN 0 * .pdf」包含,則最後四行代碼是我的嘗試(不成功)。對不起我的英文,我不知道怎麼說更好,但我試着比較規則是否給出了有效的文件名。所以如果有文件名「GEN 0 GENERAL.html」,它應該顯示字符串GEN 0 GENERAL.html。如果這不符合規則,則不會打印字符串。所以如果我讀取一個文件名「GEN 3 SERVICES.html」,所以不會打印任何內容。如何比較批處理文件中的文件名
@echo off
SETLOCAL EnableDelayedExpansion
for /f "delims=" %%P in ('dir /b *.pdf') do (
SET "sPDFName=%%~nxP"
echo "!sPDFName:~0,1!"
IF "!sPDFName:~0,1!"=="1" (SET "sPDFName=!sPDFName:~0,1!")
IF "!sPDFName:~0,1!"=="0" (SET "sPDFName=!sPDFName:~0,1!")
SET tempStr="GEN !sPDFName!*.html"
echo !tempStr!
::echo "!sPDFName!"
for /f "delims=" %%H in ('dir /b *.html') do (
CALL SET substring=%%H:~!tempStr!%%
echo K:%substring%
IF "%%substring%%"=="%%H" (echo %%H) ELSE (echo NOT FOUND)
pause))
給出了結果: 「0」 「GEN 0的* .pdf」 K: NOT FOUND 按任意鍵繼續......
你會得到什麼錯誤? – 2012-02-19 13:20:14
「0」 「GEN 0 *。pdf「 K: NOT FOUND <下一行此處> 按任意鍵繼續....將替換爲行尾 –
user1141649
2012-02-19 14:06:18
使用雙引號i For '「dir/b * .pdf」'。「」delims =「'不是必需的 – 2012-02-19 14:16:32