【发布时间】:2020-01-22 17:52:15
【问题描述】:
例如,我希望进程“myexe.exe”在任何主机上运行。所以我希望在每台计算机上评估主机名并将其插入命令中。理想情况下,我希望这一切都在一条线上完成。我尝试了以下代码。
mpiexec -n 8 -hosts 1 %hostname% myexe.exe myinputfile.txt
但我得到了这个错误
... unable to get host address for %hostname% (11001)
所以它似乎没有正确评估主机名。如何在命令中正确评估主机名?
【问题讨论】:
-
你为什么认为只是编造一些东西会起作用。键入
set以查看可用的内容。最后请参阅set /?了解更多信息。另见winsourcecode.blogspot.com/2019/05/… -
我不确定你所说的“编造”是什么意思。你的意思是我编造了“主机名”?我使用了主机名,因为它在您执行主机名时提供了计算机名称。我认为可能有一种方法可以将该命令的输出提取到我的 mpiexec 命令中的变量中。无论如何,似乎有一个变量已经具有名为 COMPUTERNAME 的计算机名称,感谢您的建议设置。所以我只是用主机名交换了它,我的命令现在可以正常工作了。但是出于兴趣,很高兴知道我是否可以将主机名的输出直接插入到 mpiexec 命令中的变量中。
-
输入
For /?,特别是for /f,用于解析命令输出。 -
您需要成为管理员才能访问此共享
dir \\localhost\C$(或dir \\127.0.0.1\C$)将列出任何本地计算机上的 C: 驱动器。