我想复制一个文件并在其中添加计算机的名称。 因此,我为变量分配了“主机名”,并使用此变量执行了副本。 但是,变量始终在复制命令的上下文中返回“主机名”。 通过简单地使用“%computername%”,一切正常。 有人可以向我解释吗?
不起作用:
set tmp=hostname
copy file file_%tmp%
最好的问候 亚历克斯
答案 0 :(得分:0)
(我将使用var
作为变量名,因为tmp
是一个系统变量,当您没有特殊需要时不应更改它)
set var=hostname
将该变量设置为文字字符串hostname
。
您可以使用set var
或echo %var%
进行验证。
如果仅键入%var%
,则解析器将扩展变量并尝试执行其值(此处恰好是有效命令)。验证一下废话的值:
set var=nonsense
%var%
您将得到'nonsense' is not recognized as an internal or external command, operable program or batchfile
(除了碰巧有一个名为nonsense.bat
的文件,(或.cmd,.exe,.txt,xlsx等)