使用cmd命令下的start命令
启动另一个窗口运行指定的程序或命令。
START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/WAIT] [/B] [command/program]
[parameters]
"title" 在窗口标题栏中显示的标题。
path 起始目录
B 在不创建新窗口的情况下开始应用程序。 除非
启动 ^C 处理,否则该应用程序会忽略 ^C 处理;
^Break 是唯一可以中断该应用程序的方式
I 新环境是传递给 cmd.exe 的原始环境,
而不是当前环境
MIN 开始时窗口最小化
MAX 开始时窗口最大化
SEPARATE 在分开的空间内开始 16 位 Windows 程序
SHARED 在分共享的空间内开始 16 位 Windows 程序
LOW 在 IDLE 优先级类别开始应用程序
NORMAL 在 NORMAL 优先级类别开始应用程序
HIGH 在 HIGH 优先级类别开始应用程序
REALTIME 在 REALTIME 优先级类别开始应用程序
ABOVENORMAL 在 ABOVENORMAL 优先级类别开始应用程序
BELOWNORMAL 在 BELOWNORMAL 优先级类别开始应用程序
WAIT 启动应用程序并等候它结束
command/program
如果是内部 cmd 命令或批文件,那么该命令处理器是
用 /K 命令行开关运行 cmd.exe 的。这表示该窗口在命令运行
后仍然存在。
如果不是内部 cmd 命令或批文件,则是一个程序,并
作为窗口应用程序或控制台应用程序运行。
parameters 这些为传送到命令/程序的参数
如果命令扩展名被启用,通过命令行或 START 命令的外部命令
调用会如下改变:
将文件名作为命令键入,非可执行文件 可以通过文件关联调用。
(例如, WORD.DOC 会调用跟 .DOC 文件扩展名关联的应用程序)。
关于如何从命令脚本内部创建这些关联,请参阅 ASSOC 和
FTYPE 命令。
执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用
程序终止就返回命令提示。如果在命令脚本内执行,该新行为
则不会发生。
如果执行的命令行的第一个符号是不带扩展名或路径修饰符的
字符串 "CMD","CMD" 会被COMSPEC 变量的数值所替换。这
防止从当前目录抓出 CMD.EXE。
如果执行的命令行的第一个符号没有扩展名,CMD.EXE 会使用
PATHEXT 环境变量的数值来决定要以什么顺序寻找哪些扩展
名。PATHEXT 变量的默认值是:
.COM;.EXE;.BAT;.CMD
请注意,该语法跟 PATH 变量的一样,分号隔开不同的元素。
查找可执行文件时,如果没有相配的扩展名,看一看该名称是否
与目录名相配。如果确实如此,START 会在那个路径上调用
Explorer。如果从命令行执行,则等同于对那个路径作 CD /D。
package test;
import java.io.File;
import java.io.IOException;
public class update {
/**
* @param args
*/
public static void main(String[] args) {
// String updateCmd="cmd /k copy D:\\app1.class D:\\work\\workspace\\UpdateModule\\doUpdate /y";
//String startCmd="cmd /k java -cp D:\\test doUpdate.test";
String workDir=System.getProperty("user.dir");
System.out.println(workDir);
String startCmd="cmd /k start java -cp D:\\test doUpdate.test";
Process p1=null;
Process p2=null;
try {
// p1 = Runtime.getRuntime().exec(updateCmd);
p2=Runtime.getRuntime().exec(startCmd);
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
分享到:
相关推荐
如果仅需要打开一个CMD窗口而无需执行特定命令,`Desktop`类可能是更安全的选择。 总之,要以管理员身份在Java中调用CMD,可以通过`nircmd.exe`这样的辅助工具来实现,或者利用Java自身的API进行权限请求。理解这个...
使用 Java 调用其他.exe 可执行程序时,需要注意以下几点: * 需要确保调用其他.exe 可执行程序的权限,避免出现权限不足的错误。 * 需要确保调用其他.exe 可执行程序的路径正确,避免出现文件不存在的错误。 * ...
本篇将详细介绍如何在Java中执行DOS程序并将结果输出到窗口,同时结合Eclipse和Maven项目环境进行实战演示。 一、Java执行DOS命令 1. 使用`Runtime.getRuntime().exec()`方法: 这是Java中执行外部命令最基础的...
在Java编程中,有时我们需要与操作系统进行交互,执行一些系统级别的任务,比如运行命令行程序。这通常是通过Java的Runtime类或ProcessBuilder类来实现的。本文将详细讲解如何通过Java执行命令行程序,以及在处理...
在Java编程中,有时我们需要执行操作系统级别的任务,例如运行一个外部程序或命令。这可以通过Java的`Runtime`类提供的`exec()`方法实现。标题和描述中的示例代码演示了如何在Windows环境下启动一个名为`msimn.exe`...
这里的`cmd /c`是用来执行命令并关闭CMD窗口的。 2. **ProcessBuilder类**:这个类在Java 5中引入,提供了更强大的功能,如设置环境变量、控制工作目录等。使用ProcessBuilder的例子如下: ```java ...
要通过Java启动外部程序,还可以使用`Desktop`类(Java 6及以上版本),使用`getDesktop().open(new File(程序路径))`可以直接打开系统默认程序打开指定文件。 ### IOException类 在调用cmd命令或执行exe程序的...
在Java编程中,经常需要与操作系统进行交互,比如执行系统命令、调用外部程序等。本文将详细介绍如何利用Java的`Runtime.getRuntime().exec()`方法来实现对CMD命令的调用,并通过具体的例子来帮助读者理解和掌握这一...
这个方法允许Java程序在运行时执行外部程序或命令。例如,如果我们要在CMD中打开一个.doc文件,可以这样做: ```java String command = "wordpad.exe path_to_your_file.doc"; try { Process p = Runtime....
由于DOS窗口的标准输出缓冲区有限,如果输出过多,窗口不会自动关闭,导致Java程序在`waitfor()`时阻塞。解决这个问题的方法是使用`Process`类来捕获并处理子进程的标准输出。例如,你可以创建一个`BufferedReader`...
有时,为了提高用户体验或避免用户看到不必要的命令行过程,我们可能需要在运行BAT文件时隐藏这个CMD窗口。这可以通过使用VBScript(Visual Basic Script)来实现。 首先,我们可以创建一个新的VBScript文件,例如`...
在Java编程语言中,模拟DOS界面(也称为命令行接口或CMD程序)是一种常见的需求,特别是在进行系统级操作或者需要执行控制台命令时。这个Demo项目“Java模仿DOS界面(cmd程序)”旨在通过Java代码实现类似DOS窗口的...
在Java编程中,有时我们需要在程序中调用Windows系统的命令行操作,例如执行外部程序、系统命令或者进行文件操作。Java提供了Runtime类和Process类来实现这一功能。以下是如何使用Java调用Windows命令行的详细步骤和...
在Java编程中,有时我们需要与操作系统进行交互,执行一些系统命令或者运行外部程序。这个过程通常被称为调用系统执行程序,或称为进程控制。在Java中,我们可以使用`Runtime`类或者`ProcessBuilder`类来实现这个...
在Java编程中,有时我们需要在程序中调用操作系统级别的命令或者执行外部程序,这就涉及到Java中的`Runtime`和`Process`类。这两个类提供了一种机制,使得Java应用程序能够与操作系统进行交互,执行系统命令或者运行...
Java 软件的安装和运行程序的方法 Java 软件的安装和运行程序的方法是 Java 开发者需要掌握的基本技能之一。这篇文章将指导您如何安装和运行 Java 软件,检查 JDK 是否安装成功,并使用 JCreator 和命令提示符编译...
- **错误流和输出流**:执行外部程序时,Java会创建一个子进程,该进程有自己的标准输出和错误流。如果不读取这些流,它们可能会阻塞程序,导致"进程已死锁"的情况。因此,你需要读取并处理`process.getErrorStream...
- 运行程序后,打开资源管理器或使用命令行界面,确认`new_folder`文件夹已成功创建。 - 可以尝试在不同的路径下运行此程序,通过修改`mkdir`命令中的路径参数来改变文件夹创建的位置。 #### 总结 通过以上步骤...
在某些情况下,即使在DOS窗口中可以成功执行的命令,通过Java执行时也可能失败,这可能是因为Java对引号的处理方式与CMD不同。 尝试去掉内部的空格,如`-filter_complex '[0:0][1:0][2:0]concat=n=3:v=0:a=1[a]'`,...
6. **安全注意事项**:调用外部程序时需谨慎,特别是处理用户输入时,避免命令注入攻击。不要直接拼接用户输入到命令字符串中,而是应该使用`ProcessBuilder`的`command(List)`方法,这样可以防止命令注入。 综上所...