如何将命令的输出设置为批处理文件中的变量

时间:2014-06-18 19:12:01

标签: variables batch-file

我在尝试将hostname命令的输出设置为变量时遇到困难。我想要做的是让输出的文本文件具有计算机的名称,如computer1.txt,computer2.txt等,但我想这样做而不制作临时文件,例如

    set HNAME =`hostname` 

这是我目前所拥有的,但我正在使用的脚本在同一台计算机上运行,​​我相信我创建的临时文件导致.txt文件名称出现问题。

    hostname >> hostname.txt


    set /p HNAME=<hostname.txt 

    pause

    echo hello > %HNAME%.txt
    pause

1 个答案:

答案 0 :(得分:1)

你必须使用for命令,如下所示:

for /f "usebackq" %i in ( `somecommand` ) do set envar=%i

这很痛苦。为/?在命令行获取更多信息。