在下面的程序中,名称为“
don”,因此该命令将搜索活动目录,其所有名称均以don开头(例如donald等)。但是从读者对象分配后,line2变量变为空,并且永远不会进入循环。我究竟做错了什么?仅供参考:当我在命令行上输入命令时,该命令有效。
try {
Process p = Runtime.getRuntime().exec(
"dsquery user -name " + name + "* -limit 200|dsget user -samid -display");
p.waitFor();
BufferedReader reader = new BufferedReader(
new InputStreamReader(p.getInputStream()));
String line2 = reader.readLine();
HashMap<String,String> hmap = new HashMap<String,String>();
while (line2 != null) {
line2 = line2.trim();
if (line2.startsWith("dsget")||line2.startsWith("samid")) {
continue;
}
String[] arr = line2.split(" ",1);
hmap.put(arr[0].toLowerCase(),arr[1].toLowerCase());
line2 = reader.readLine();
}
reader.close();
line2 = reader.readLine();
}
如果我没记错的话,管道(或重定向)需要使用cmd.exe启动程序。就像是:
Process p = Runtime.getRuntime().exec("cmd /c dsquery user -name " + name + "* -limit 200|dsget user -samid -display");
问题内容: 我需要在 node.js 函数中 它将 同步 执行给定的命令行并返回该命令文本的所有标准输出。 ps。同步是错误的。我知道。仅供个人使用。 更新 现在我们有了mgutz的解决方案,该解决方案为我们提供了退出代码,但没有stdout!仍在等待更准确的答案。 问题答案: Node.js(从0.12版本开始-已有一段时间)支持: 您现在可以直接执行以下操作: 它会做您期望的。(默认将I /O
问题内容: 我有一堆系统命令,它们与将新内容附加到文件非常相似。我编写了一个简单的脚本来执行系统命令,如果存在诸如“ ls”,“ date”等单个单词,该脚本就可以很好地工作。但是如果命令大于此范围,则程序将死亡。 以下是代码 以下是我看到的错误 我想,这可能是由于未单独发送cmds和参数(http://golang.org/pkg/os/exec/#Command)导致的。我想知道如何颠覆这个问
问题内容: 我试图便宜一些,并在Java中执行本地系统命令()。我想从中获取输出并将其存储在String中。最好的方法是什么?当前代码: 问题答案: 你的方法与我可能要做的事情并不遥远: 当然,请处理你关心的任何异常情况。
问题内容: 我正在尝试制作一个小的Java程序来执行系统命令,但似乎无法弄清楚 问题是如何使用Java执行系统命令? 更新:我阅读了文档并尝试了一些示例,但仍然无法弄清。为什么不能像C中那样简单 问题答案: 您可能需要查看的文档。这里给出一个例子。
本文向大家介绍Go语言执行系统命令行命令的方法,包括了Go语言执行系统命令行命令的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Go语言执行系统命令行命令的方法。分享给大家供大家参考。具体如下: 执行Go代码时可以附加参数,包括要执行的命令和给命令的参数 希望本文所述对大家的Go语言程序设计有所帮助。
本文向大家介绍Lua中执行系统命令方法介绍,包括了Lua中执行系统命令方法介绍的使用技巧和注意事项,需要的朋友参考一下 Lua中,os.execute可以执行dos命令,但是返回的是系统状态码,默认输出。 io.popen()也可以执行dos命令,但是返回一个文件。eg: 如果想执行某命令或程序可选os.execute(),如果还想捕捉该执行结果可用io.popen() eg:复制文件