EDIT: Я только что изменил, если если ещеПростые подстановочные использовать
IF "%CD:~1%"==":\" ( set FIR=%CD:~0,2% ) ELSE ( set FIR=%CD% )
Попытка использовать маску, чтобы обнаружить, если пакетный файл находится в корневом каталоге (как первопричины там быть обратная косая черта в конце DIR)
Мне нужно определить с помощью простого оператора if, является ли это:: или нет. Я пробовал использовать подстановочные знаки *: \ и?: \, Но безрезультатно. Если я использую букву диска, например: G: \ it работает.
if %CD%==G:\ echo SOMETHING WRONG HERE
работает отлично, пока буква диска не изменится. Где, как
if %CD%==?:\ echo SOMETHING WRONG HERE
или
if "%CD%"=="?:\" echo SOMETHING WRONG HERE
не работает.
EDIT: после прочтения получается, если и подстановочные знаки несовместимы!
Wildcards Wildcards не поддерживаются IF, так что% COMPUTERNAME% == SS6 * не будет соответствовать SS64 Обойти это можно получить подстроку и сравнить только те символы: SET _prefix =% COMPUTERNAME: ~ 0, 3% IF% _prefix% == SS6 GOTO they_matched –