devxlogo

Execute DOS Commands from a Java Program

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();      }   }}
See also  Digital Signage Solutions for Agile Software Development Teams
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist