Windows批处理文件重定向输出
我需要从批处理文件中输出一些参数数据。我可以重定向输出,没问题。我的问题是我需要输出类似Windows批处理文件重定向输出,windows,batch-file,cmd,Windows,Batch File,Cmd,我需要从批处理文件中输出一些参数数据。我可以重定向输出,没问题。我的问题是我需要输出类似 设置值1=0 设置值2=1 echo value1=%value1%>>temp.txt echo value2=%value2%>>temp.txt 参数值后没有空格 但由于CMD假设%value#%是重定向值,因此无法正确重定向 所以如果我做类似的事情 echo value1=%value1%>>temp.txt echo value2=%value2%>>temp.txt 它可以工作,但是我在参数值之
设置值1=0
设置值2=1
echo value1=%value1%>>temp.txt
echo value2=%value2%>>temp.txt
参数值后没有空格
但由于CMD假设%value#%是重定向值,因此无法正确重定向
所以如果我做类似的事情
echo value1=%value1%>>temp.txt
echo value2=%value2%>>temp.txt
它可以工作,但是我在参数值之后得到了一个空格,下一个读取此文件的应用程序不在我的控制之下,并且在这些值之后出现了空格错误
我一定错过了一些简单的东西
>>temp.txt echo value1 = %value1%
>>temp.txt echo value2 = %value2%
(当然,如果路径包含空格,则在路径上使用引号是很重要的,>“c:\some folder\file.txt”echo value1=%value1%
)我找到了答案
我只需要引用变量
echo value2=^%value2%>>temp.txt
很抱歉,它一直在“逃避”我(这是一个糟糕的双关语)。我明白了。我只需要引用变量'echo value2=^%value2%>>temp.txt'作为提示,在没有空格的变量后放置>时需要小心,如果扩展变量以空格+2结尾(设置“foo=12”+echo%foo%>test2.txt),则会导致重定向错误,结果是一个空文件!只需使用我的答案,(echo value1=%value1%)>>temp.txt也可以使用