如何在批处理中将命令值分配给变量

4

我希望能够在批处理文件中执行一个命令并将其值分配给一个变量。

我们知道,在Windows命令提示符上运行hostname命令可以获取计算机名称。我想使用hostname命令并将其值分配给批处理文件中的一个变量。

经过搜索,我尝试了以下方法,但似乎都不起作用:

set CONTROLLER=hostname
set CONTROLLER=%hostname%
set CONTROLLER=%%hostname%%
set CONTROLLER=!hostname!

请给予建议。
2个回答

4

我们可以通过以下命令轻松获取主机名/计算机名

set host=%COMPUTERNAME%
echo %host%

1

尝试使用

@echo off
for /f "delims=" %%a in ('hostname') do @set HOST=%%a
echo %HOST%
PAUSE

其中HOST是您的变量,在“hostname”的位置上,您也可以使用任何其他命令。


1
https://dev59.com/tXNA5IYBdhLWcg3wn_U1 - nishantvas
我确实遇到了这个问题,一直在寻找一个不那么复杂的方法来解决它。同时也看了Rajesh的答案,我意识到那只适用于一个特定的命令,但是现在这正是我需要的。无论如何,还是谢谢。 - Ayush

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接