【问题标题】:PuTTY -m command option failing with "unable to open ... file" on Windows 7PuTTY -m 命令选项在 Windows 7 上因“无法打开 ... 文件”而失败
【发布时间】:2019-08-04 02:15:26
【问题描述】:

我正在尝试使用批处理文件进行自动 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 代替了 putty。

发生了什么?

【问题讨论】:

  • 尝试提供文件的完整路径,或将/D 选项添加到start 以提供正确的起始/工作目录...

标签: batch-file windows-7 putty


【解决方案1】:

你需要使用 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

两条线中的任何一条都可以。

【讨论】:

  • 当使用 CD 命令时,您应该真正使用它的 /D 选项,除非“当前驱动器”是在使用时已知是相同的.
  • 虽然您对 Plink 的看法可能是正确的(尽管我们并不真正知道 OP 在做什么),但您根本没有解决 OP 的问题。您的代码将遇到与 OP 相同的问题。
  • 是的,问题仍然存在。谢谢
  • 您是否尝试过使用目录的完整位置? .bat 文件允许哪些权限?
  • 是的,我试过了。 .bat 和 .txt 文件拥有所有权限
【解决方案2】:

您的问题不太可能与 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"  ...
    

【讨论】:

  • 我已经尝试了这些解决方案,但同样的错误发生了。谢谢
  • 您是否使用实际路径代替C:\path\to?用您尝试的详细信息修改您的问题。
  • 如果你这样做cd /d C:\path\to -- dir --- type commands_to_execute.txt -- start "title" "C:\Program Files\PuTTY\putty.exe" "server_name@server_IP" -pw "password" -m "commands_to_execute.txt" 怎么办? -- 你在dir 输出中看到commands_to_execute.txt 了吗?你看到commands_to_execute.txt的内容了吗? --commands_to_execute.txt在哪个文件夹下?
猜你喜欢
  • 1970-01-01
  • 2015-08-05
  • 1970-01-01
  • 2015-08-29
  • 2011-11-18
  • 2014-07-09
  • 1970-01-01
  • 2021-12-29
  • 1970-01-01
相关资源
最近更新 更多