Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java
Expertise: Intermediate
Sep 1, 2009

Execute DOS Commands from a Java Program

Rather unintuitively, you can't run DOS commands directly by specifying Runtime.getRuntime().exec(dosCommand) in Java. Instead, to execute a DOS command (such as DIR, or RD) from a Java program, you need to prepend the command to run the Windows command shell cmd /c to the command you want to execute. The /c switch terminates the command shell after the desired command completes. Here's the syntax:

Runtime.getRuntime().exec("cmd /c " + dosCommand);

And here's an example that gets the file list in a directory and its subdirectories using the DIR command with the /s (include subdirectories) switch:

import java.io.IOException;
import java.io.InputStream;

public class ExecuteDOSCommand {
   public static void main(String[] args) {
      final String dosCommand = "cmd /c dir /s";
      final String location = "C:\\WINDOWS";
      try {
         final Process process = Runtime.getRuntime().exec(
            dosCommand + " " + location);
         final InputStream in = process.getInputStream();
         int ch;
         while((ch = in.read()) != -1) {
            System.out.print((char)ch);
         }
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}
Hrudananda Pattanaik
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap