命令提示符 (cmd) 未执行 Plink SSH 命令

Command Prompt (cmd) is not executing Plink SSH Command

我正在尝试使用批处理文件中的以下命令执行批处理文件 (.bat)。 我有一个包含以下内容的批处理文件;

@ECHO OFF
cmd.exe /K "cd C:\Program Files (x86)\PuTTY && C:"
set PATH=%PATH%;C:\Program Files (x86)\PuTTY
pause
plink.exe -ssh username@firewall1 -pw PassWord! < commands.txt > c:\output_.csv"
pause

plink.exe 命令在手动输入时有效。

commands.txt 目前只是一个简单的防火墙命令。

我在 运行 批处理文件时看到的只是一个 cmd window 在 Putty 文件夹中打开的点,仅此而已。

请问我怎样才能将它发送到 运行?

第 2 行的批处理文件打开了一个新的 cmd window。那可能不是你想要的。它还会更改当前目录和当前驱动器,阅读 HELP CD,然后将该行更改为 cd /d "C:\Program Files (x86)\PuTTY"

此外,作为额外的建议,您每次 运行 执行此命令时都会更改 PATH,添加您认为是当前目录的 putty 目录,因此此命令是不必要且多余的。

所以,我会让你的蝙蝠尽可能简单

@ECHO OFF
CD /D "C:\Program Files (x86)\PuTTY"
plink.exe -ssh username@firewall1 -pw PassWord! <commands.txt >c:\output_.csv

我建议使批处理文件更简单:

@Start "" /D "%ProgramFiles(x86)%\PuTTY" plink.exe -ssh username@firewall1 -pw PassWord! <commands.txt >C:\output_.csv

您可以考虑 运行 其他选项,例如 /MIN,在命令提示符下键入 Start /? 以获取使用信息