我有一个批处理文件,它启动PuTTY并执行文本文件中列出的命令。我希望能够将参数传递给我的命令在远程服务器上运行的文本文件。
这就是我目前所拥有的 -
start C:\Users\putty.exe -load "server" -l userID -pw Password -m commands.txt
有没有办法将版本号作为参数传递给commands.txt
文件?
答案 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将其推送