如何在 cmd 命令中包含变量?
How do I include a variable in cmd command?
例如,我希望任何主机上的进程 "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 文件脚本中,将百分号字符加倍。
FOR /F %%A IN ('hostname') DO (SET "V=%%~A")
例如,我希望任何主机上的进程 "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 文件脚本中,将百分号字符加倍。
FOR /F %%A IN ('hostname') DO (SET "V=%%~A")