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

标签 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 提示符。然而,程序在下一步中仍然挂起 - 不确定这是否是我传递这些的方式的问题。

最佳答案

您可以重定向或通过管道进入 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/

相关文章:

c++ - 通过 `IShellItem`获取文件大小

javascript - 如何在命令行上运行带有js代码的php文件?

c# - SQL Server 2016 如何从命令行读取/写入始终加密的列?

bash - 如何使用脚本运行 MinGW?

windows - 如何将 "break"跳出 For 循环?

batch-file - ffprobe 如何检索音频和视频信息并输出到单行?

linux - Linux 中的 sed。很多括号和斜线

java - 无法在您的 PC 上运行的 Windows 2012 R2 "this app can' 上安装 JDK 7u51(64 位)”

windows - 将 X11 显示转发到 Windows 时出现颜色问题

c++ - Windows如何在从中检索值之前执行完整性检查?