RSS Feed
Download our iPhone app
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) {
      } catch (IOException e) {
Hrudananda Pattanaik
Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date