更新2:我想出了这个脚本:
@echo off
nslookup myip.opendns.com resolver1.opendns.com | Find "Address:" | Find /V "208.67.222.222" >IP_1.txt
nslookup myip.opendns.com resolver1.opendns.com | Find "Address:" | Find /V "208.67.222.222" >IP_2.txt
FC IP_1.txt IP_2.txt
IF %ERRORLEVEL% EQU 1 goto script
IF %ERRORLEVEL% EQU 0 goto end
:script
Kill_port_forwarding_SSH.bat
Established_SSH.bat
:end
pause
问题是该脚本Established_SSH.bat
无法运行,它会运行第一个脚本但不会运行第二个脚本,第一个脚本的内容是:
plink -ssh [email protected] -pw 28101997 fuser -k 32400/tcp
我再次期待你能找到解决这个问题的方法
更新:现在我已经创建了两个简单的脚本,将我的外部 IP 记录到同一目录中的两个不同文件中,我该如何比较这些值,如果它们不匹配,则运行我的脚本?
我正在寻找 Windows 创建的日志(如果有的话)。当我的计算机上的外部 IP 发生变化时,我使用的是 Windows 10 Pro。基本上,现在我一直在尝试的解决方案是设置:
好吧,这本来应该是在我的外部 IP 发生变化时进行监控并提供日志的,但实际上,由于某些原因,它每 10 分钟就会创建一次日志,如下所示:
所以我很期待您的帮助,如果您能帮我解决这个问题的话,谢谢。
附言:如果您需要更多信息,请询问;)附言*:此事件只会触发两个简单的脚本。
答案1
所以我找到了解决方法,我只是将脚本简化为那个
@echo off
:while
plink -ssh root@vps_IP -pw ******** fuser -k port/tcp
plink -ssh root@vps_IP -pw ********
goto while
所以我意识到这个命令
fuser -k port/tcp
将关闭我和 VPS 之间的连接,这样它就会自动执行脚本。
感谢泰森的指导:)