Windows 批处理文件重定向输出

发布于 2024-10-14 22:10:13 字数 512 浏览 1 评论 0原文

我需要从批处理文件中输出一些参数数据。我可以重定向输出,没问题。我的问题是我需要输出类似

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

女中豪杰 2024-10-21 22:10:13
>>temp.txt echo value1 = %value1%
>>temp.txt echo value2 = %value2%

(如果路径包含空格,则在路径上使用引号当然很重要,>>"c:\somefolder\file.txt" echo value1 = %value1%

>>temp.txt echo value1 = %value1%
>>temp.txt echo value2 = %value2%

(It is of course important to use quotes on the path if it contains spaces, >>"c:\some folder\file.txt" echo value1 = %value1%)

能否归途做我良人 2024-10-21 22:10:13

我想通了。

我只需要引用变量

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).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文