如何将参数传递给PuTTY命令文件

时间:2016-03-31 14:11:40

标签: batch-file cmd scripting putty

我有一个批处理文件,它启动PuTTY并执行文本文件中列出的命令。我希望能够将参数传递给我的命令在远程服务器上运行的文本文件。

这就是我目前所拥有的 -

start C:\Users\putty.exe -load "server" -l userID -pw Password -m commands.txt

有没有办法将版本号作为参数传递给commands.txt文件?

2 个答案:

答案 0 :(得分:4)

您必须动态生成set PARAMETER=parameter echo ./myscript.sh %PARAMETER% > commands.txt start C:\Users\putty.exe -load "server" -l userID -pw Password -m commands.txt

putty.exe

附注:要自动执行任务,您应该考虑使用plink.exe代替set PARAMETER=parameter echo ./myscript.sh %PARAMETER% > commands.txt plink.exe -load "server" -l userID -pw Password -m commands.txt

plink.exe -load "server" -l userID -pw Password ./myscript.sh parameter

Plink甚至可以在命令行上接受命令,这使得你的任务变得更加容易:

<script>
    if('@Session["Data"]'===""){
        $('#datetimepicker').datepicker('setDate', new Date()); 
        @(Session["Data"] = DateTime.Now);
    } else {
        $('#datetimepicker').datepicker('setDate', '@Session["Data"]'); 
    }
</script>

答案 1 :(得分:0)

我正在为此努力,只是意识到我们可以通过以下简单方式轻松实现这一目标。

我有一个要使用Putty执行的文本文件,它也需要运行时参数。在这种情况下,我没有使用静态文本文件,而是使用Windows bash动态生成了文件。我下面的用例将在我选择的主机上执行“ Execute.txt”

示例

我的“ Run.bat”

@ECHO OFF

set prodhost [1] = host1
设置prodhost [2] = host2

ECHO请选择您要执行结帐的框。
回声1. host1
回声2. host2
set / p host =“输入您的选项:”


echo echo“登录并切换用户成功”
回显主机名
echo sudo su-'username'^ <^ 回声
回声EOF
)>“ Execute.txt”

“ plink.exe” -l%username%-ssh!prodhost [%host%]! -m Execute.txt

BottomLine:使用bash快速生成要执行的脚本并将其存储在文件中,然后使用Plink将其推送