下面的程序最后总是回应“machine-abc”:
@echo Off set dropLoc=machine-abc IF %computername% == "xyz" ( %dropLoc% = machine-xyz ) echo %dropLoc%
这是一个范围问题? if语句中的dropLocvariables是否有不同的作用域? 我已经尝试了以下来解决这个问题:
@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%
我该如何做这项工作?
你第一次得到SET
语法,你怎么决定第二次写别的东西呢? 另外,您必须在比较的两边添加引号。 与其他脚本解释器不同,引号对于批解释器并不特别。
@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%