batch-file - PuTTY -m 命令选项在 Windows 7 上因“无法打开 ... 文件”而失败
问题描述
我正在尝试使用批处理文件进行自动 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。
怎么了?
解决方案
您的问题不太可能与 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" ...
推荐阅读
- android - 无法在 Android 4 上的自定义视图中从 TypedArray 获取 Drawable
- c# - 使用 IdentityServer,在运行 CreateUser 时,对 .json 文件的访问被拒绝
- c# - 出列整个队列
- linear-programming - 我如何在ampl中使用if条件?
- linux - 如何动态切换标准输入?- >雷达2
- php - 搜索特定键/值的多维数组
- java - TCP Socket HTTP GET 请求 Content-Length > 0 但不返回实际内容
- vue.js - 根据 Vue-Form-Wizard 中当前步骤中的选择动态加载组件
- sql - 关于使用 powershell 步骤然后使用 SQL DTSX 文件的作业的问题
- umbraco - 出版时的 Umbraco 文化不同