如何在echo中以字符串形式执行命令

时间:2019-07-19 14:54:41

标签: batch-file

我需要将Windows的主机名作为“ hostname = google-871”写入文本文件

此处google-871是计算机的主机名。

下面是我尝试过的脚本

FOR /F "usebackq" %%i IN (`hostname`) DO SET MACHINE_NAME=%%i
echo hostname=%MACHINE_NAME%>"D:\temp\hostname.txt"

错误是:

C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C ^ C该进程尝试写入不存在的管道。

实际结果:

google-871

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

主机名已经是在%computername%上设置的系统变量-因此,您需要做的是:

(echo hostname=%computername%)>"D:\temp\hostname.txt"

如果您有主机名列表或需要更具体的信息,只需发表评论或编辑您要达到的具体结果的问题。