批处理:如何附加变量的名称而不是该变量的值

时间:2013-05-28 02:43:05

标签: string variables batch-file append

我正在尝试将字符串追加到文本文件中。到目前为止,我的代码看起来像这样:

echo -%appointment% >>C:\Users\Evan\Desktop\Programming\Events.txt
echo set /a h=(%hours%*3600)+(%minutes%*60) >>C:\Users\Evan\Desktop\Programming\Events.txt
echo set /a i=%day%-%dbf% >>C:\Users\Evan\Desktop\Programming\Events.txt
echo if %g% leq %h% if %b% equ %day% echo %appointment% %time% Today >>C:\Users\Evan\Desktop\Programming\Events.txt
echo if %b% lss %day% if %b% geq %i% echo %appointment% %time% %date% >>C:\Users\Evan\Desktop\Programming\Events.txt

问题是,变量%b%%g%取决于具体的出现。 %b%%g%随日期而变化,因此当我将它们附加到文本文件中时它们的值会准确,当我真正想将文本文件转换为批处理文件时,它们的值将不准确并使用它。我如何将变量%b%作为文本而不是其当前值附加,以便每次我作为批处理运行文本文件时它都可以更改?如果我尝试在带有这些引用的代码中附加"%b%",则在生成的文件中,它只是输出为“”。

谢谢。

1 个答案:

答案 0 :(得分:1)

将您希望按字面输出的%加倍%

%转义%(即使其被解释为普通字符,而不是特殊字符。)

^摆脱了|等最尴尬的角色 - 但不是%