Задайте переменную в блоке "if"
Следующая программа всегда перекликается с "machine-abc" в конце:
@echo Off
set dropLoc=machine-abc
IF %computername% == "xyz" (
%dropLoc% = machine-xyz
)
echo %dropLoc%
Является ли эта проблема проблемой? Является ли переменная dropLoc в выражении if другой областью? Я попытался решить проблему:
@echo Off
set dropLoc=machine-abc
IF %computername% == "xyz" (
!dropLoc! = machine-xyz
)
echo %dropLoc%
и
@echo Off
set dropLoc=machine-abc
IF %computername% == "xyz" (
set dropLoc = machine-xyz
)
echo %dropLoc%
Как мне сделать эту работу?
Ответы
Ответ 1
У вас есть синтаксис SET
в первый раз, как вы решили написать что-то еще во второй раз? Кроме того, вы должны добавить кавычки по обе стороны от сравнения. В отличие от других интерпретаторов script, кавычки не являются специальными для пакетного интерпретатора.
@echo off
rem Change this for testing, remove for production
set computername=xyz
set dropLoc=machine-abc
if "%computername%" == "xyz" (
set dropLoc=machine-xyz
)
echo %dropLoc%