Windows 7上的PuTTY -m命令选项失败,显示“无法打开...文件”

时间:2019-03-13 11:53:07

标签: batch-file windows-7 putty

我正在尝试使用批处理文件进行自动PuTTY登录。我有这个:

start "title" "C:\Program Files\PuTTY\putty.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代替了腻子。

发生了什么事?

2 个答案:

答案 0 :(得分:1)

您的问题不太可能与Windows 7和Windows 10有关。

在Windows 7上执行批处理文件的工作目录很可能未设置为存储commands_to_execute.txt文件的文件夹。

可能的解决方案是:

  • 设置工作目录的方式与在Windows 10上设置工作目录的方式相同

  • 使用脚本文件的完整路径:

    -m "C:\path\to\commands_to_execute.txt"
    
  • 使用以下命令显式设置PuTTY的工作目录:

    start "title" /D "C:\path\to" "C:\Program Files\PuTTY\putty.exe"  ...
    
  • 或者,如果脚本文件与批处理文件位于同一文件夹中,则可以使用:

    start "title" /D "%~dp0" "C:\Program Files\PuTTY\putty.exe"  ...
    

答案 1 :(得分:0)

您需要为此使用plink.exe而不是putty.exe,只需替换:

start "title" "C:\Program Files\PuTTY\plink.exe" "server_name@server_IP" -pw "password" -m "commands_to_execute.txt"

或使其更简单:

cd C:\Program Files\PuTTY\
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

这两行中的任何一条都有效。