Windows 批处理文件重定向输出
我需要从批处理文件中输出一些参数数据。我可以重定向输出,没问题。我的问题是我需要输出类似
set value1=0
设置 value2=1
echo value1 = %value1%>>temp.txt
echo value2 = %value2%>>temp.txt
参数值后没有空格
但这不会正确重定向,因为 CMD 假设 %value#% 是重定向值。
因此,如果我执行类似
echo value1 = %value1% >>temp.txt
echo value2 = %value2% >>temp.txt
它可以工作,但我在参数值后面得到一个空格,并且下一个读取此文件的应用程序不受我的控制,并且出现空格错误在值之后。
我一定错过了一些简单的东西。
I need to output some parameter data from a batch file. I can redirect output, no problem. My issue is that I need to ouput something like
set value1=0
set value2=1
echo value1 = %value1%>>temp.txt
echo value2 = %value2%>>temp.txt
without a space after the parameter value
But this will not redirect properly due to CMD assuming that %value#% is the redirection value.
So if I do something like
echo value1 = %value1% >>temp.txt
echo value2 = %value2% >>temp.txt
It works, but I get a space after the parameter value and the next app that reads this file is not under my control and errors out with spaces after the values.
I must be missing something simple.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
(如果路径包含空格,则在路径上使用引号当然很重要,
>>"c:\somefolder\file.txt" echo value1 = %value1%
)(It is of course important to use quotes on the path if it contains spaces,
>>"c:\some folder\file.txt" echo value1 = %value1%
)我想通了。
我只需要引用变量
echo value2 = ^%value2%>>temp.txt
抱歉,它一直在“逃避”我(不好的双关语)。
I figured it out.
I just needed to quote the variable
echo value2 = ^%value2%>>temp.txt
Sorry about that, it kept "escaping" me (bad pun intended).