【发布时间】:2013-07-03 01:22:49
【问题描述】:
编辑:我刚刚将 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
没用。
编辑:阅读后发现和通配符不兼容!
【问题讨论】:
-
通配符 IF 不支持通配符,因此 %COMPUTERNAME%==SS6* 将不匹配 SS64 解决方法是检索子字符串并仅比较这些字符:SET _prefix=%COMPUTERNAME:~0, 3% IF %_prefix%==SS6 GOTO they_matched
标签: variables batch-file wildcard dir