批处理脚本比较

时间:2013-02-20 13:55:14

标签: batch-file

有一个基本的批处理脚本,它使用用户MAC更新postgreSQL表,而不是脚本中的硬编码。当我运行它时,它认为MAC地址不同或我的语法不起作用。我试过回声变量,它们看起来一样。

我哪里错了?

由于

@echo off

set mac=00:00:00:00
echo %mac%
set /p mac_address= Please enter the MAC address 
echo %mac_address%
if mac==mac_address (

set /p hostname= Please enter the server ip address 

echo "update license set lldld" >> run
SET PGPASSWORD=xxxxxxxxxx
postgresql\bin\psql -U postgres -h %hostname% -p 5434 -d jasperserver -a -f run
del run

) else (
Echo "Error with MAC code"
pause

    )

1 个答案:

答案 0 :(得分:2)

表达式if mac==mac_address比较文本macmac_address而不是变量的内容。

您(几乎)总是需要使用百分比或感叹号扩展变量。

if "%mac%"=="%mac_address%" echo Same