`

Java调用批处理和Java打开DOS窗口

    博客分类:
  • Java
阅读更多

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窗口:

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。

分享到:
评论
1 楼 xiaoqing20 2010-01-14  
已阅,感谢分享。

相关推荐

    JAVA如何调用DOS命令.doc

    总之,Java调用DOS命令主要依赖`Runtime`和`Process`类,需要注意命令格式、标准输出处理以及资源管理等问题,以确保命令的正确执行和程序的稳定运行。在实际开发中,应充分考虑各种情况,以保证代码的健壮性和跨...

    编写批处理命令来执行JAVA文件

    批处理文件(.bat)是一种文本文件,包含了可执行的DOS命令。当用户运行这个文件时,Windows会逐行解析并执行这些命令。这对于运行Java程序特别有用,尤其是需要设置环境变量或执行多条命令的情况。 2. **JAVA环境...

    Bat调用Java

    本文将详细介绍如何使用Bat文件调用Java程序,并以"InvokeHello.bat"调用"Hello.jar"和"Hello.java"为例进行讲解。 首先,让我们了解批处理文件(Bat文件)。批处理文件是Windows操作系统中的脚本文件,它包含一...

    java批处理[归类].pdf

    5. 处理标准输出:当执行的程序有大量标准输出时,可能会导致DOS窗口不自动关闭,造成Java程序阻塞。这时,可以使用`Process`的输入流来读取并处理标准输出,防止缓冲区溢出,如: ```java Process process = ...

    JAVA执行DOS命令分析

    由于DOS窗口的标准输出缓冲区有限,如果输出过多,窗口不会自动关闭,导致Java程序在`waitfor()`时阻塞。解决这个问题的方法是使用`Process`类来捕获并处理子进程的标准输出。例如,你可以创建一个`BufferedReader`...

    批处理执行CMD命令

    7. **Java调用批处理**:在Java程序中,我们可以使用`Runtime.getRuntime().exec()`方法来执行批处理命令。例如,`Runtime.getRuntime().exec("cmd /c start test.bat")`会启动一个新的命令行窗口并执行`test.bat`。...

    java 使用dos命令详解

    #### 一、Java调用DOS命令的基础方法 Java提供了`Runtime`类以及其子类`Process`来实现对操作系统的调用。其中,`Runtime.getRuntime().exec(command)`是执行外部程序的主要方法,它可以创建一个新进程并返回一个`...

    java_bat.rar_DEMO

    Java调用批处理程序(BAT文件)是一种常见的技术,它允许开发者在Java应用程序中执行Windows系统的命令行操作。本DEMO展示了如何通过Java代码来执行一个.bat文件,从而实现自动化任务或者集成到Java应用程序中。以下...

    JAVA如何调用WINDOWS命令行.doc

    解决此问题的一种方法是在调用`waitFor()`之前先读取DOS窗口的标准输出缓冲区的内容。可以使用Java的`BufferedReader`来实现这一点: ```java String ls_1; Process process = Runtime.getRuntime().exec("cmd /c ...

    java在dos控制台下的一个清屏的Demo

    此外,`compile.bat`和`Test4.bat`可能是批处理文件,用于编译和运行Java程序。批处理文件是一种简单的脚本,可以包含一系列DOS命令,方便连续执行。比如,`compile.bat`可能包含了`javac Test4.java`这样的命令,...

    Windows 10的.bat 批处理文件脚本打开程序员的开发工具脚本源码,一键打开IDEA,Nacos,Redis等

    通过在批处理脚本中调用IDEA的可执行文件,可以快速启动这个IDE,节省了开发者手动打开的时间。 Nacos是阿里巴巴开源的一个动态配置服务和发现服务,适用于微服务架构。它可以帮助开发者集中管理和推送服务配置,...

    批处理教程(最全版)

    6. **批处理实用技巧**:例如,使用`call`命令来调用其他批处理文件,或者使用`start`命令启动新的命令窗口等。 在实际应用中,批处理可以用于日常的系统维护,如批量重命名文件、清理临时文件、自动备份等。也可以...

    GUI可执行文件隐藏DOS界面

    `readme.txt`和`使用说明.txt`通常是提供给用户的文档,它们可能详细解释了如何使用这些工具,包括如何配置`suppress.ini`,以及如何在NSIS脚本中整合`suppress.exe`,以确保最终生成的GUI可执行文件在运行时不会...

    第一个Java程序

    - 解决方案:设置`JAVA_HOME`环境变量并重新启动DOS窗口。 - **编译失败**:运行`javac abc.java`时找不到文件。 - 解决方案:确认在正确的目录下且文件扩展名为`.java`而非`.java.txt`。 - **大小写错误**:...

    解决java执行cmd命令调用ffmpeg报错Concat error - No such filter '[0,0]'问题

    3. **创建批处理文件**:如果Java代码在不同操作系统之间运行,可以创建一个批处理文件(`.bat` for Windows, `.sh` for Linux),然后在Java中调用这个批处理文件,从而简化命令行参数的处理。 4. **使用ffmpeg的...

    java小程序

    - 标签“java-dos”可能是指这些程序可以通过命令行(DOS窗口)运行的批处理文件(bat文件)启动。 - `bat`文件是Windows操作系统中的脚本文件,可以执行一系列命令,包括调用Java虚拟机(JVM)运行`.jar`文件。 ...

    Win-TC 程序应用

    1. **多窗口支持**:Win-TC允许用户同时打开多个命令行窗口,每个窗口可以独立执行不同的命令,便于对比和管理不同目录下的文件。 2. **增强的文件操作**:除了基本的复制、移动、删除文件和目录,Win-TC还支持批量...

    改进的dos环境下的日历查询系统

    在DOS环境下,可以通过INT 21H中断服务调用来获取当前日期,具体是使用功能号2Ch,然后解析返回的数据,以常见的年/月/日格式展示给用户。 2. 日历查询:用户可以输入指定的年、月,系统则根据输入生成相应的月份...

Global site tag (gtag.js) - Google Analytics