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

时间:2018-01-09 12:03:53

标签: batch-file ssh cmd putty plink

我正在尝试使用批处理文件中的以下命令执行批处理文件(.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现在只是一个简单的防火墙命令。

我在运行批处理文件时看到的只是Putty文件夹中的cmd窗口打开点,就是这样。

那么我怎么能让它运行呢?

2 个答案:

答案 0 :(得分:0)

第2行的批处理文件会打开一个新的cmd窗口。这可能不是你想要的。它还会更改当前目录和当前驱动器,读取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

答案 1 :(得分:0)

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

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

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