有一个基本的批处理脚本,它使用用户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
)
答案 0 :(得分:2)
表达式if mac==mac_address
比较文本mac
和mac_address
而不是变量的内容。
您(几乎)总是需要使用百分比或感叹号扩展变量。
if "%mac%"=="%mac_address%" echo Same