【问题标题】:Executing the windows batch file执行windows批处理文件
【发布时间】:2012-07-28 11:49:33
【问题描述】:

我目前在做什么-

  1. MachineB 上从MachineA 执行shell 脚本(Windows 环境)。
  2. 然后等待 shell 脚本完成它的任务,在我的例子中,它会将输出写入一个文本文件。
  3. 在 shell 脚本完成所有任务后,意味着它完成了将所有内容写入 txt 文件,然后将该 txt 文件从 MachineB 复制到 MachineA(Windows 环境)。

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

plink uname@machineB -m email.sh 
pscp  uname@machineB:/export/home/uname/jk_attachment22.txt C:\PLINK\foo.txt

但是通过使用上面的windows批处理文件,我需要输入两次密码,这很痛苦,首先我需要输入第一行,然后再输入第二行。

我的问题是-

那么有什么方法可以通过在命令提示符下键入一次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

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

【问题讨论】:

    标签: shell unix batch-file plink pscp


    【解决方案1】:

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

    【讨论】:

    • 当我尝试阅读整篇文章时,考虑到上述情况,我该如何做到这一点,但我变得更加困惑。有什么建议我需要做些什么改变吗?当我从我的 Windows 机器上运行 PLINK 时。所以我需要做的所有更改都将在我的 windows 机器或 Unix 服务器上?
    【解决方案2】:

    在命令行实用程序中使用 -pw 选项。

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

    C:\>twinkie password
    

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

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

    【讨论】:

      猜你喜欢
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      • 2011-04-19
      • 2012-07-14
      • 1970-01-01
      • 1970-01-01
      • 2012-05-23
      • 2012-12-13
      相关资源
      最近更新 更多