Java 打开命令提示符并插入命令
本文使用不同的方法来选择通过Java代码插入打开的命令窗口中的命令。通过使用“cmd”打开命令窗口。在这里,使用Java代码指定了执行相同任务的方法。首先使用Java程序打开命令窗口。它作为子进程打开。如果Java程序在现有的cmd窗口中运行,则会打开另一个作为新进程的窗口。此外,通过Java代码在打开的命令窗口中插入并执行不同类型的命令。
这些程序可能无法在在线编程环境中工作。如何使用javac和java命令来运行这些程序的详细信息在本文中的输出部分中有详细介绍。
步骤
- 第一步 − 使用Java代码打开CMD窗口。
-
第二步 − 选择要执行的命令。所选择的命令用作文本字符串。
-
第三步 − 通过Java程序在打开的CMD窗口中执行所选择的命令。
-
第四步 − 查看结果。
多种方法
对于这些程序,使用两种不同的方法选择命令。
- 通过使用改变cmd窗口属性的命令。
-
通过使用可执行命令
让我们逐个查看程序及其输出。
首先给出了启动新CMD窗口的Java代码。
Java代码(启动新CMD窗口)
public class cmdprog1 {
public static void main(String[] args) {
System.out.println("Opening cmd window");
try{
// cmd is a command that opens the command window
//CMD /C is used to run commands and then terminate the existing window while CMD /K will run the command and then it returns you to the given prompt. Runtime.getRuntime().exec(new String[] {"cmd", "/K", "Start"});
// the following line can also be used.....
//Runtime.getRuntime().exec(new String[] {"cmd", "/C", "Start"});
}
catch (Exception e){
System.out.println("Error: " + e);
}
}
}
输出
C:\java\javaprgstu>javac cmdprog1.java
C:\java\javaprgstu>java cmdprog1
Opening cmd window
C:\java\javaprgstu>
方式1:使用更改命令窗口属性的命令
在这种方法中,使用了两个不同的示例。
- 示例1:在打开命令窗口时更改CMD窗口的标题。
-
示例2:在打开命令窗口时更改CMD窗口的背景和前景色。
示例1:在打开命令窗口时更改CMD窗口的标题。
程序
public class cmdprog22 {
public static void main(String[] args) {
String command_to_playwith =" title 'The New Title of the New Command Window' ";
System.out.println("Opening cmd window");
try {
String command = "cmd /c" + " start" + command_to_playwith;
//Starting the new child process
Process childprocess11 = Runtime.getRuntime().exec(command);
System.out.println("The child process is Alive: " + childprocess11.isAlive());
System.out.println();
}
catch (Exception e){
System.out.println("Error: " + e);
}
}
}
输出
C:\java\javaprgstu>javac cmdprog22.java
C:\java\javaprgstu>java cmdprog22
Opening cmd window
The child process is Alive: true
示例2:在打开CMD窗口时更改其背景色和前景色。
public class cmdprog55 {
public static void main(String[] args) {
//the following command will change the color of the cmd window. First the number for bg color and then the number for fg color is added.
// 4 means red color and 0 means black color
String command_to_playwith =" COLOR 40";
System.out.println("Opening cmd window");
try {
String command = "cmd /c" + " start" + command_to_playwith;
// starting the child process ....
Process childprocess11 = Runtime.getRuntime().exec(command);
System.out.println("The child process is Alive: " + childprocess11.isAlive());
System.out.println();
}
catch (Exception e){
System.out.println("Error: " + e);
}
}
}
输出(方法1:示例2)
C:\java\javaprgstu>javac cmdprog55.java
C:\java\javaprgstu>java cmdprog55
Opening cmd window
The child process is Alive: true
方法2:使用可执行命令
新的cmd窗口作为子进程打开。插入的命令结果只能在新的cmd窗口中看到。此方法使用了三个不同的示例。
示例1 在打开的CMD窗口中显示消息。
示例2 显示一个文本文件的内容。
示例3 以宽格式显示文件夹内容。
示例1:在打开的CMD窗口中显示消息
public class cmdprog44 {
public static void main(String[] args) {
// The following command will display the message specified.
String command_to_playwith =" ECHO 'Hi! Lets check the cmd commands ....'";
System.out.println("Opening cmd window");
try {
String command = "cmd /c" + " start" + command_to_playwith;
// starting the child process....
Process childprocess11 = Runtime.getRuntime().exec(command);
System.out.println("The child process is Alive: " + childprocess11.isAlive());
System.out.println();
}
catch (Exception e){
System.out.println("Error: " + e);
}
}
}
System.out.println("Opening cmd window");
try {
String command = "cmd /c" + " start" + command_to_playwith;
// starting the child process ....
Process childprocess11 = Runtime.getRuntime().exec(command);
System.out.println("The child process is Alive: " + childprocess11.isAlive());
System.out.println();
}
catch (Exception e){
System.out.println("Error: " + e);
}
输出 (方法2:示例1)
C:\java\javaprgstu>javac cmdprog44.java
C:\java\javaprgstu>java cmdprog44
Opening cmd window
The child process is Alive: true
示例2:显示txt文件的内容
public class cmdprog33 {
public static void main(String[] args) {
//The following command is the command that is needed to see the contents of the given text file
String command_to_playwith =" TYPE testfile.txt";
System.out.println("Opening cmd window");
try {
String command = "cmd /c" + " start" + command_to_playwith;
//Starting the new child process
Process childprocess11 = Runtime.getRuntime().exec(command);
System.out.println("The child process is Alive: " + childprocess11.isAlive());
System.out.println(" Now showing the content of testfile.txt ....\n");
}
catch (Exception e){
System.out.println("Error: " + e);
}
}
}
输出
C:\java\javaprgstu>javac cmdprog33.java
C:\java\javaprgstu>java cmdprog33
Opening cmd window
The child process is Alive: true
Now showing the content of testfile.txt ...
示例3:以宽格式显示文件夹内容
public class cmdprog66 {
public static void main(String[] args) {
// The following command will display the specified directory in wide format
String command_to_playwith =" dir .\applettest /W";
System.out.println("Opening cmd window");
try {
String command = "cmd /c" + " start" + command_to_playwith;
//Starting the new child process
Process childprocess11 = Runtime.getRuntime().exec(command);
System.out.println("The child process is Alive: " + childprocess11.isAlive());
System.out.println(" Now showing the directory in wide format ....\n");
}
catch (Exception e){
System.out.println("Error: " + e);
}
}
}
输出
C:\java\javaprgstu>javac cmdprog66.java
C:\java\javaprgstu>java cmdprog66
Opening cmd window
The child process is Alive: true
Now showing the directory in wide format ...
结论
在本文中,我们探讨了在通过Java程序打开cmd窗口后要插入的不同命令。命令的选择是基于不同的类别。第一组命令在打开命令窗口时改变命令窗口的属性,第二组命令用于在显示后的打开的命令窗口中显示结果。在这两种情况下,新的cmd窗口被打开为一个子进程。