首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ProcessBuilder和cmd

ProcessBuilder和cmd
EN

Stack Overflow用户
提问于 2013-03-08 17:35:50
回答 2查看 3.5K关注 0票数 1

为什么

代码语言:javascript
运行
复制
ProcessBuilder pb = new ProcessBuilder("cmd","/C","dir");

工作,但是

代码语言:javascript
运行
复制
ProcessBuilder pb = new ProcessBuilder("cmd","dir");

不会。

我的意思是,在后一种情况下,cmd启动,但是目录列表没有happen.Why,是这样吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-08 17:39:01

这是cmd.exe的正常行为-在命令行上也会发生同样的情况:

代码语言:javascript
运行
复制
C:\>cmd dir
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
代码语言:javascript
运行
复制
C:\>cmd /c dir
 Volume in drive C is System
 Volume Serial Number is ABCD-EF10
...

通过第一次调用,您将创建一个新的(交互式)命令解释程序进程cmd.exe。使用第二个调用,您将创建一个新的命令解释程序进程,并告诉它执行给定的命令,然后退出:

代码语言:javascript
运行
复制
/C      Carries out the command specified by string and then terminates
票数 5
EN

Stack Overflow用户

发布于 2013-03-08 17:41:39

因为cmd.exe就是这样工作的。在命令窗口中尝试执行以下操作:

代码语言:javascript
运行
复制
cmd dir

代码语言:javascript
运行
复制
cmd /C dir

也可以看看help cmd的解释。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15290804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档