为什么
ProcessBuilder pb = new ProcessBuilder("cmd","/C","dir");工作,但是
ProcessBuilder pb = new ProcessBuilder("cmd","dir");不会。
我的意思是,在后一种情况下,cmd启动,但是目录列表没有happen.Why,是这样吗?
发布于 2013-03-08 17:39:01
这是cmd.exe的正常行为-在命令行上也会发生同样的情况:
C:\>cmd dir
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.C:\>cmd /c dir
Volume in drive C is System
Volume Serial Number is ABCD-EF10
...通过第一次调用,您将创建一个新的(交互式)命令解释程序进程cmd.exe。使用第二个调用,您将创建一个新的命令解释程序进程,并告诉它执行给定的命令,然后退出:
/C Carries out the command specified by string and then terminates发布于 2013-03-08 17:41:39
因为cmd.exe就是这样工作的。在命令窗口中尝试执行以下操作:
cmd dir和
cmd /C dir也可以看看help cmd的解释。
https://stackoverflow.com/questions/15290804
复制相似问题