gpt4 book ai didi

batch-file - 批处理不将单个数字回显到文件

转载 作者:行者123 更新时间:2023-12-04 15:43:21 25 4
gpt4 key购买 nike

在我的部分代码中,我试图将单个数字回显到文件中:

echo 1>test.txt

除了命令解释器不拾取单个数字,回显

Echo is off.

到文件。有什么办法可以解决这个问题吗?

最佳答案

这是最简单的解决方案

>test.txt echo 1

为什么能解决问题?问题是什么?

在批处理文件中,输入和输出流从 0 到 9 编号:0= stdin = default input stream, 1= stdout = default output stream, 2= stderr = 默认错误流 和 3 到 9 可供用户使用。

您的代码的问题在于表达式 1> file 表示将流 1(标准输出)重定向到文件。解析器将数字作为重定向的一部分进行处理,而不是作为发送到重定向的数据。

要解决这个问题,有必要将数字与重定向运算符分开,但是像 echo 1 >test.txt 这样的东西也会输出一个额外的空格,这通常是一种不受欢迎的行为。

通过重新排序行来更改命令的编写方式,我们可以在没有任何附加元素的情况下将数字和重定向分开。

编辑以适应评论

不重新排序能做到吗?

是的,您还可以将命令与将命令括在括号中的重定向运算符分开

(echo 1)>test.txt

或者您可以向解析器添加附加指示,转义数字

echo ^1>test.txt

或者使用for可替换参数来处理数字,在重定向时将其隐藏到解析器

for %%a in (1) do echo %%a>test.txt

或者,使用延迟扩展,或者......几乎任何确保解析器不将数字作为流编号处理的方法。

关于batch-file - 批处理不将单个数字回显到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28174588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com