例如,我希望进程"myexe.exe"在任何主机上运行。所以我希望在每台计算机上评估主机名并将其插入到命令中。理想情况下,我希望这一切都在一行中完成。我尝试了以下代码。
mpiexec -n 8 -hosts 1 %hostname% myexe.exe myinputfile.txt
但是我得到了这个错误
... unable to get host address for %hostname% (11001)
因此,它似乎没有正确评估主机名。如何在命令中正确评估主机名?
你可以改用localhost
。
但是,在 Windows 上(由cmd
标记暗示(,您可能应该使用:
mpiexec -n 8 -hosts 1 %COMPUTERNAME% myexe.exe myinputfile.txt
从hostname
输出设置变量的魔术是:
FOR /F %A IN ('hostname') DO (SET "V=%~A")
在.bat文件脚本中,将 PERCENT 符号字符加倍。
FOR /F %%A IN ('hostname') DO (SET "V=%%~A")