在Windows中使用java将命令提示符的输出重定向到文本文件

时间:2015-09-28 06:18:48

标签: java

我通过以下代码

使用java启动命令提示符
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("cmd /c start cmd.exe /K \"dir > D:\test1.txt");

执行第二行后,我收到错误,因为访问被拒绝'我无法将命令提示符的输出重定向到文本文件。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

OnStart之后加倍反斜杠,这样它就不会在命令字符串中插入制表符(D:):

\t

您还需要修复插入的引用(Process proc = rt.exec("cmd /c start cmd.exe /K \"dir > D:\\test1.txt"); ),因为它没有结束。要么删除它,要么添加适当的结束引用(最后?)。

答案 1 :(得分:0)

您可以使用

Process proc = rt.exec("cmd /c start cmd.exe /K \"dir);

 OutputStream = proc.getOutputStream();

然后将输出写入文件

反斜杠用于java中的转义字符之前。您需要正确格式化路径