Установить переменную в блоке «если»

Следующая программа всегда повторяет "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%

Как мне это сделать?

12
задан Ross Ridge 28 December 2016 в 18:41
поделиться