我想写一个批处理文件来查找所有扩展名为.vsdm的文件,并且文件名必须包含子字符串"2.4"。但是我的代码告诉我,所有的.vsdm文件都包含了子字符串"2.4",这是错误的。
FOR /R %completepath% %%G IN (*.vsdm) DO (
set file=%%~nG
If not "%file%"=="%file:2.4=%" (
echo Filename contains 2.4
) else (
echo Filename does NOT contains 2.4
)
)
有人能告诉我哪里错了吗?谢谢。
For /?
和setlocal /?
中的 delayedexpansion。同时,set /?
也有相关讨论。基本上使用!file!
而不是%file%
。 - user6017774dir /a /s "c:\*2.4*.vsdm"
可以快速实现你想要的功能。 - user6017774forfiles
命令。它有点像 Unix 系统的find
命令。 - ths