读/回声环境变量为文字

时间:2013-10-07 15:30:05

标签: batch-file command-line-arguments

非常基本,或者我认为。我在命令提示符下有这个字符串:

C:\>echo "start C:\Users\%USERNAME%\My Documents" >> Test.txt

我尝试了%% USERNAME %%,'%USERNAME%','%'USERNAME'%'以及许多其他方法。批输出始终解析环境变量,而不是将其写为文本字符串。是否有可能确保将其读作文本字符串而不是它解析为的环境变量?

3 个答案:

答案 0 :(得分:2)

echo start ^"^" ^"C:\Users\^%username^%\my documents^" >> test.txt

这应该有效。

答案 1 :(得分:2)

此命令在命令行与批处理文件的工作方式不同。在批处理文件中,这有效:

@echo off
echo start "" "C:\Users\%%username%%\my documents" >> file.txt

答案 2 :(得分:0)

不知道为什么你的方法不起作用(我也无法使它工作),但如果你用这样的两个部分做回声:

echo.|set /P="start C:\Users\%" >> Test.txt
echo USERNAME%\My Documents >> Test.txt

然后它应该工作。第一行是我在这里找到的:'echo' without newline in a shell script

文档确实说%%应该输入一个字面值,但显然放置%USERNAME%的规则具有更高的优先级。