0

编辑:我刚刚将 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

不工作。

编辑:阅读后发现通配符是否不兼容!

4

2 回答 2

2

尝试这个:

if "%CD:~-2%"==":\" (echo root) else echo NOT root

见文档help set

于 2013-07-03T03:13:38.037 回答
0

通配符在命令中的 IF 语句中不可用。

于 2013-07-03T01:59:02.887 回答