我正在尝试使用批处理文件自动登录。我有这个:
start "title" "C:Program FilesPuTTYputty.exe" "server_name@server_IP" -pw "password" -m "commands_to_execute.txt"
所有内容在我的Windows 10机器上都起作用,但是在Windows 7中,命令选项-m
不起作用。错误消息是:
无法打开命令文件:" commands_to_execute.txt"
我尝试将所有路径更改为" C: Program Files Putty",设置工作目录/D
,在实际目录中工作,我还将路径添加到:
高级系统设置>环境变量
我还使用了plink而不是油灰。
发生了什么事?
您的问题与Windows 7 vs Windows 10有任何关系。
很可能在Windows 7上执行批处理文件的工作目录未设置为存储commands_to_execute.txt
文件的文件夹。
可能的解决方案是:
-
设置工作目录以您在Windows 10
上设置的方式相同 使用脚本文件的完整路径:
-m "C:pathtocommands_to_execute.txt"
设置Putty的工作目录,以明确使用:
start "title" /D "C:pathto" "C:Program FilesPuTTYputty.exe" ...
或,如果脚本文件与批处理文件在同一文件夹中,则可以使用:
start "title" /D "%~dp0" "C:Program FilesPuTTYputty.exe" ...
您需要使用plink.exe作为此而不是putty.exe,只需替换:
start "title" "C:Program FilesPuTTYplink.exe" "server_name@server_IP" -pw "password" -m "commands_to_execute.txt"
或使其更容易:
cd C:Program FilesPuTTY
plink.exe -ssh pi@192.168.1.166 -P 22 -pw P@SSWRD ~/script.sh
plink.exe -ssh pi@192.168.1.166 -P 22 -pw P@SSWRD -m commands.txt
pause
两行中的任何一个都可以。