同步 java 调窗口命令_Java代码中调用批处理和打开命令行窗口

本文详细介绍了如何在Java中调用批处理文件和打开DOS命令行窗口,包括使用Runtime.exec()方法的具体代码示例。同时,文章提供了START命令的参数说明,帮助理解不同参数在启动应用程序时的作用。
摘要由CSDN通过智能技术生成

Java调用批处理:

import java.io.*;

public class Test{

public static void main(String[] args){

try {

//执行批处理文件

Process process = Runtime.getRuntime().exec("文件路径");

//取得命令结果的输出流

InputStream fis = process.getInputStream();

//用一个读输出流类去读

BufferedReader br = new BufferedReader(new InputStreamReader(fis));

String line = null;

//逐行读取输出到控制台

while ((line = br.readLine()) != null) {

System.out.println(line);

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

Java打开DOS窗口:

Java代码

0818b9ca8b590ca3270a3433284dd417.png

public class Test{

public static void main(String[] args){

try {

Process process = Runtime.getRuntime().exec("cmd  start ");

}catch(Exception e){

e.printStackTrace();

}

}

另附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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值