Java代码中调用批处理和打开命令行窗口

Java调用批处理:

  1. import java.io.*;  
  2.   
  3. public class Test{  
  4.     public static void main(String[] args){  
  5.         try {  
  6.             //执行批处理文件  
  7.             Process process = Runtime.getRuntime().exec("文件路径");  
  8.               
  9.             //取得命令结果的输出流  
  10.             InputStream fis = process.getInputStream();  
  11.             //用一个读输出流类去读  
  12.             BufferedReader br = new BufferedReader(new InputStreamReader(fis));  
  13.             String line = null;  
  14.             //逐行读取输出到控制台  
  15.             while ((line = br.readLine()) != null) {  
  16.                    System.out.println(line);  
  17.             }  
  18.               
  19.         } catch (IOException e) {  
  20.             e.printStackTrace();  
  21.         }  
  22.     }  
  23.   
  24. }  

 Java打开DOS窗口:

Java代码   收藏代码
  1. public class Test{  
  2.     public static void main(String[] args){  
  3.         try {  
  4.             Process process = Runtime.getRuntime().exec("cmd  start ");   
  5.         }catch(Exception e){  
  6.             e.printStackTrace();  
  7.         }  
  8. }  

 另附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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值