有两个文件名: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