编辑:我刚刚将if更改为if else
IF "%CD:~1%"==":\" (
set FIR=%CD:~0,2%
) ELSE (
set FIR=%CD%
)
尝试使用通配符来检测批处理文件是否在根目录中(因为根目录会导致在DIR结尾处出现反斜杠)
我需要用简单的if语句来确定它是否是*:\或者不是。我尝试过使用通配符*:\和?:\但无济于事。如果我使用驱动器号,例如:G:\它可以工作。
if %CD%==G:\ echo SOMETHING WRONG HERE
效果非常好,直到驱动器号发生变化。
if %CD%==?:\ echo SOMETHING WRONG HERE
或
if "%CD%"=="?:\" echo SOMETHING WRONG HERE
不起作用。
编辑:在阅读之后,如果和通配符不兼容,则结果显示!
答案 0 :(得分:2)
试试这个:
if "%CD:~-2%"==":\" (echo root) else echo NOT root
见文件help set
。
答案 1 :(得分:0)
通配符在命令的IF语句中不可用。