变量内部的变量

时间:2018-04-30 21:14:19

标签: batch-file cmd

所以,我正在尝试编写一个批处理文件来接收我的输入,将其插入我已创建的模板中,并将其放入文本文件中。

set Output="%USERPROFILE%\desktop"

set /p VarOne=Example

echo ** %VarOne% ** > %Output%\%date:~-10,2%%date:~-7,2%%date:~-4,4%.txt

这样可以正常工作,但如果我这样做,我会收到拒绝访问错误:

set Output="%USERPROFILE%\desktop"
set FNAME="%Output%\%date:~-10,2%%date:~-7,2%%date:~-4,4%.txt"

set /p VarOne=Example

echo ** %VarOne% ** > %FNAME%

我很缺乏经验,请原谅我,如果它显而易见的话。

1 个答案:

答案 0 :(得分:3)

不要为变量分配双引号,但要使用它们引用SET语句作为保护特殊字符的最佳做法。

set "Output=%USERPROFILE%\desktop"
set "FNAME=%Output%\%date:~-10,2%%date:~-7,2%%date:~-4,4%.txt"

set /p VarOne=Example

echo ** %VarOne% ** >"%FNAME%"