我正在使用 mpich2 并行运行模拟。我的工作站有相当严格的安全措施,每次运行模拟时都必须使用新密码进行注册。我必须输入:
mpiexec -register
然后提示我输入用户名,然后提示我输入密码。不幸的是,似乎没有办法在一行上将用户/通行证传递给 mpiexec,例如
mpiexec -register user:pass
不起作用。
我正在尝试准备一个批处理文件,该文件可以自动将用户名和密码传递给 mpiexec 提示,但我似乎无法让它工作。我尝试过各种方法,例如 timeout/t 5
但不起作用。
谁能告诉我如何将这些输入传递到批处理文件中的 mpiexec 程序提示符?
谢谢!
编辑:我想我越来越接近了。我试过了
(
echo username
echo password
echo password
) | mpiexec -register
这似乎将用户名和密码输入传递给 mpiexec 提示符。然而,程序在下一步中仍然挂起 - 不确定这是否是我传递这些的方式的问题。
最佳答案
您可以重定向或通过管道进入 mpiexec
.
通过重定向,用户/密码条目会有点麻烦,因为行尾经常有不需要的(且不可见的)空格。
(
echo user
echo pwd
) | more > fetch.txt
创建于fetch.txt
user
<space>
pwd<space>
当您想抑制空格时,请使用文件重定向
(
echo user
echo pwd
) > file.tmp
< file.tmp mpiexec -register
在这两种情况下(重定向或管道),您都需要为程序提供所有输入,而不仅仅是用户名和密码。
您无法再通过键盘输入内容。
关于windows - 将输入传递到批处理文件中的程序提示符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43895559/