2012-07-30 176 views
0

我在做什么currently-执行的Windows批处理文件

  1. MachineA(Windows环境下)执行上MachineB shell脚本。
  2. 然后等待shell脚本完成它的任务,在我的情况下它会将输出写入文本文件。
  3. 并且在shell脚本完成其所有任务后,它将所有内容写入txt文件,然后将该txt文件从MachineB复制到MachineA(Windows环境)。

因此,为此我写了一个Windows Batch file,它可以完成上述任务,它对我来说工作正常。以下是我当前使用的Windows Bat文件。

plink [email protected] -m email.sh 
pscp [email protected]:/export/home/uname/jk_attachment22.txt C:\PLINK\foo.txt 

但是,通过使用上述窗口的批处理文件,我需要键入密码两次这是疼痛,首先我需要为第二行键入的第一行,然后再。

我的问题是 -

那么,有没有办法,我可以通过只在命令提示符下键入password一次运行上面的Windows批处理文件。任何建议将不胜感激。

这是我在寻找/.ssh folder时所拥有的。

更新:

bash-3.00$ cd ~/.ssh 
bash-3.00$ pwd 
/home/uname/.ssh 
bash-3.00$ ls -lt 
total 2 
-rw-r--r-- 1 uname gid-uname  489 Jul 26 18:55 known_hosts 

所以我需要在这里做一些其他的变化?

回答

0

我会跳过密码和身份验证与SSH密钥。 http://www.debian-administration.org/articles/152

+0

我怎么能这样做考虑我的上述情况,因为我试着阅读整篇文章,并且我变得更加困惑。任何建议我需要做出什么改变?当我从Windows机器上运行PLINK时。所以我需要做的所有更改都将放在我的Windows机器或Unix服务器上? – ferhan 2012-07-30 19:08:52

+0

我用更少的信息更新了这个问题。 – ferhan 2012-07-30 19:29:43

0

在命令行工具中使用-pw选项。

让我们假设你命名你的批处理文件TWINKIE.BAT。在命令提示符下,您需要输入“TWINKIE密码”,其中“密码”是您要使用的实际密码。

C:\>twinkie password 

“password”作为第一个命令行变量%1传递到您的批处理文件中。你的批处理文件是:

plink -pw %1 [email protected] -m email.sh 
pscp -pw %1 [email protected]:/export/home/uname/jk_attachment22.txt C:\PLINK\foo.txt