您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

从Java运行批处理文件时,在>>之前随机出现1

从Java运行批处理文件时,在>>之前随机出现1

首先,使用命令重定向运算符查看Microsoft的TechNet文章

数值 与handle (标准输出)等效。

在批处理文件中,重定向 标准输出中* 省略数字 。 *

例如,将这两行放入批处理文件中并运行

echo This is just a redirect test.>CapturedStandardOutput.txt
@pause

您将看到cmd.exe自动1重定向操作符左侧插入(空格和1)>

通常,不建议在批处理文件 已经为 。

为什么?

查看执行以下命令:

echo This is just a redirect test.1>CapturedStandardOutput.txt
@pause

您会在控制台窗口中看到:

echo This is just a redirect test.1 1>CapturedStandardOutput.txt

并且文件 CapturedStandardOutput.txt 包含以下行:

This is just a redirect test.1

解决方案是在批处理文件中使用:

echo This is just a redirect test. 1>CapturedStandardOutput.txt

这导致该行的执行:

echo This is just a redirect test.  1>CapturedStandardOutput.txt

现在在文件 CapturedStandardOutput.txt中 有以下行:

This is just a redirect test.

在浏览器窗口中您看不到的是,与第一个示例相比,文本文件中的行现在以尾随空格结尾。因此最好使用>并且>>始终不使用 ,否则控制写入文本文件内容并不是很简单。

一个提示

要将文本重定向到以1,2,…,9结尾的文件,必须使用来转义数字^

用以下命令执行批处理文件

echo Number is ^1>CapturedStandardOutput.txt
@pause

导致执行命令行

echo Number is 1 1>CapturedStandardOutput.txt

文件 CapturedStandardOutput.txt中

Number is 1

行尾没有尾随空格。

>>>不得转义以将数字 写入文本文件

java 2022/1/1 18:33:51 有448人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶