Batch file 变量内部的变量
所以,我正在尝试编写一个批处理文件,它将接受我的输入,将其放入我创建的模板中,并将其放入文本文件中Batch file 变量内部的变量,batch-file,cmd,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" se
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%
我很没经验,所以,如果这是显而易见的,请原谅我 不要为变量指定双引号,但要使用双引号引用
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%"
在我的系统上没有错误-Windows 10-您运行的是什么版本?不要为变量指定双引号。仅在使用变量时使用双引号。从输出和FNAME变量中删除引号。那么您的最后一行应该是
echo**%VarOne%**>%FNAME%”