【问题标题】:when running batch file from java , 1 randomly appears before >>从 java 运行批处理文件时,1 随机出现在 >>
【发布时间】:2014-11-30 15:46:00
【问题描述】:

我正在尝试从我的 java 代码运行一个批处理文件

这是批处理文件行:

C:\Users\abdelk\workspace\Symmetrix>symconfigure -sid 13 -cmd "create dev count=16, size=139840, emulation=FBA , config=TDEV;" commit -nop >> out_file.txt

当我从我的代码运行批处理文件时,“1” 随机出现在“>>”之前。所以 cmd 中的行变成这样:

C:\Users\abdelk\workspace\Symmetrix>symconfigure -sid 13 -cmd "create dev count=16, size=139840, emulation=FBA , config=TDEV;" commit -nop  **1>>** outfile.txt

我不知道如何删除这个随机出现的“1”

这就是我从代码中运行批处理文件的方式

rt.exec("cmd.exe /c start "+functions_object.edit_host_name(current_host_name)+"_Meta.bat",null,new  File("C:\\Users\\abdelk\\workspace\\Project"));

【问题讨论】:

  • 可能是标准输出流..这1会导致任何问题吗。

标签: java batch-file cmd


【解决方案1】:

首先,看看微软的 TechNet 文章using command redirection operators

数字 1 相当于句柄 stdout(标准输出)。

在批处理文件中,数字 1 在重定向 stdout 时被省略。

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

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

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

一般来说,不建议在stdout的批处理文件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 否则控制写入文本文件的内容并不容易。

更多提示:

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

执行批处理文件

echo Number is ^1>CapturedStandardOutput.txt
@pause

执行命令行的结果

echo Number is 1 1>CapturedStandardOutput.txt

在文件 CapturedStandardOutput.txt 中的行

Number is 1

行尾没有尾随空格。

0 留给 >>> 不得转义以将数字 0 写入文本文件。

【讨论】:

  • 感谢您的回答,现在事情已经很清楚了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-19
相关资源
最近更新 更多