微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java processbuilder的Windows命令通配符

我想从Java调用Windows命令。

使用下面的行工作正常:

ProcessBuilder pb = new ProcessBuilder("cmd.exe","/C","find "searchstr" C://Workspace//inputFile.txt");

但是我想find该位置下的所有文本文件中的string,

ProcessBuilder pb = new ProcessBuilder("cmd.exe","find "searchstr" C://Workspace//*.txt");

但是它不起作用,Java控制台中没有输出

如何从angular色类别的范围中排除angular色?

使用gcc -c * .c编译源文件到目标文件

移动具有特定名称的所有文件(sorting)WINDOWS 8

双星号通配符是什么意思?

在parsing(即扩展)通配符时停止Linux shell

有什么解决scheme?

Windows 2003上的通配符子域名安装

为什么我的pipe道中的一个*在Perl中不能在Windows上打开?

通配符的情况下,创build一个带有子域名称的Apache SetEnvvariables

Linux路由添加子域通配符-host * .domain.com

通配符rm显示我taskset帮助输出

它看起来像find返回一个错误,因为路径名中的双正斜杠。 如果您将它们更改为反斜杠(在Java字符串中将它们加倍转义),那么它将成功。

您可以使用类似于以下内容代码检查错误输出和find的退出代码(成功时为0,发生错误时为1):

ProcessBuilder pb = new ProcessBuilder( "cmd.exe","find "searchstr" C://Workspace//inputFile.txt"); Process p = pb.start(); InputStream errorOutput = new BufferedInputStream(p.getErrorStream(),10000); InputStream consoleOutput = new BufferedInputStream(p.getInputStream(),10000); int exitCode = p.waitFor(); int ch; System.out.println("Errors:"); while ((ch = errorOutput.read()) != -1) { System.out.print((char) ch); } System.out.println("Output:"); while ((ch = consoleOutput.read()) != -1) { System.out.print((char) ch); } System.out.println("Exit code: " + exitCode);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐