将输入传递到批处理文件中的程序提示符

时间:2017-05-10 14:35:05

标签: windows batch-file command-line cmd

我使用mpich2并行运行模拟。我的工作站安全性相当严格,每次运行模拟时都必须使用新密码注册。我必须输入:

mpiexec -register

然后提示我输入用户名,然后提示我输入密码。不幸的是,似乎没有办法在单行上将用户/传递传递给mpiexec,例如

mpiexec -register user:pass

不起作用。

我正在尝试准备一个可以自动将用户名和密码传递给mpiexec提示的批处理文件,但我似乎无法让它工作。我尝试过各种各样的事情,例如timeout /t 5,但这种做法并不奏效。

有谁能告诉我如何将这些输入传递给批处理文件中的mpiexec程序提示?

谢谢!

编辑:我想我越来越近了。我试过了

(
echo username 
echo password 
echo password 
) | mpiexec -register

似乎将用户名和密码输入传递给mpiexec提示。然而,计划仍然在下一步仍然悬而未决 - 不确定这是否是我传递这些与否的方式的问题。

1 个答案:

答案 0 :(得分:2)

您可以重定向或输入mpiexec 使用重定向时,对于用户/密码条目来说有点讨厌,因为在行结束时通常有不需要的(和不可见的)空格。

(
echo user
echo pwd
) | more > fetch.txt

fetch.txt

中创建
  

用户<space>
  PWD <space>

如果要取消空格,请使用文件重定向

(
echo user
echo pwd
) > file.tmp
< file.tmp mpiexec -register

在这两种情况下(重定向或管道),您需要为程序提供所有输入,而不仅仅是用户名和密码。
您不能再从键盘输入输入。