代码之家  ›  专栏  ›  技术社区  ›  RJGA

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

  •  -1
  • RJGA  · 技术社区  · 7 年前

    我正在尝试使用批处理文件中的以下命令执行批处理文件(.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
    

    叮当声。exe命令在手动输入时有效。

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

    运行批处理文件时,我只看到Putty文件夹中的cmd窗口打开点,仅此而已。

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

    2 回复  |  直到 7 年前
        1
  •  0
  •   PA.    7 年前

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

    另外,作为一个额外的建议,您每次运行此命令时都会更改路径,添加您将其映像为当前的putty目录,因此此命令是不必要的,也是多余的。

    所以,我会让你的球棒

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

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

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

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