为什么此Windows批处理不起作用:
@ECHO OFF
SET PATH="%PROGRAMFILES(x86)%\PuTTY";%PATH%
SET sti=%TEMP%\ipinfo_c200.txt
plink >nul 2>nul
IF %ERRORLEVEL% NEQ 9009 (
plink -ssh 192.168.1.101 -l root "wget -qO - http://ipinfo.io/ip" >%sti%
SET /P vpn=<%sti%
Del /F /Q %sti%
start "" http://%vpn%:8888/speedtest
) ELSE (
Echo Command plink does not exist. Install PuTTY.
)
EXIT
如果这样可以正常工作:
@ECHO OFF
SET PATH="%PROGRAMFILES(x86)%\PuTTY";%PATH%
SET sti=%TEMP%\ipinfo_c200.txt
plink -ssh 192.168.1.101 -l root "wget -qO - http://ipinfo.io/ip" >%sti%
SET /P vpn=<%sti%
Del /F /Q %sti%
start "" http://%vpn%:8888/speedtest
EXIT
唯一不同的是IF ...... ELSE。
在IF语句中工作时,命令plink不返回IP地址。
如果我将SET sti =语句放在IF语句中,我会收到意外错误。
我缺少什么(可能是基本的东西)?
谢谢,