我正在尝试使用批处理文件中的以下命令执行批处理文件(.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窗口打开点,就是这样。
那么我怎么能让它运行呢?
答案 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 /?
以获取使用信息