我使用mpich2并行运行模拟。我的工作站安全性相当严格,每次运行模拟时都必须使用新密码注册。我必须输入:
mpiexec -register
然后提示我输入用户名,然后提示我输入密码。不幸的是,似乎没有办法在单行上将用户/传递传递给mpiexec,例如
mpiexec -register user:pass
不起作用。
我正在尝试准备一个可以自动将用户名和密码传递给mpiexec提示的批处理文件,但我似乎无法让它工作。我尝试过各种各样的事情,例如timeout /t 5
,但这种做法并不奏效。
有谁能告诉我如何将这些输入传递给批处理文件中的mpiexec程序提示?
谢谢!
编辑:我想我越来越近了。我试过了(
echo username
echo password
echo password
) | mpiexec -register
似乎将用户名和密码输入传递给mpiexec提示。然而,计划仍然在下一步仍然悬而未决 - 不确定这是否是我传递这些与否的方式的问题。
答案 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
在这两种情况下(重定向或管道),您需要为程序提供所有输入,而不仅仅是用户名和密码。
您不能再从键盘输入输入。