我想从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);
总结以上是内存溢出为你收集整理的java processbuilder的Windows命令通配符全部内容,希望文章能够帮你解决java processbuilder的Windows命令通配符所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)