Java程序打开命令提示符并插入命令

2023年 8月 28日 136.1k 0

This article uses various approaches for selecting the commands inserted in the opened
command window through the Java code. The command window is opened by using ‘cmd’.
Here, the methods of doing the same are specified using Java code. The Command window
is first opened using the Java program. It is opened as a child process. If the java program
is run in an existing cmd window, another one is opened as a new process. Further,
different types of commands are inserted and executed in that opened command window
通过Java代码。

这些程序可能在在线编程环境中无法运行。如何使用javac和java命令运行这些程序的详细信息在本文中的输出部分中详细说明。

算法

  • 步骤 1 − 使用 Java 代码打开 CMD 窗口。

  • Step 2 − Select the command to be executed. The selected command is used as a text String.

  • 第三步 - 通过Java程序在打开的CMD窗口中执行所选命令。

  • 第四步 − 查看结果。

多种方法

对于这些程序,命令的选择是通过两种不同的方法来完成的。

  • By Using Commands that change the property of the cmd window.

  • By Using Executable Commands

Let’s see the program along with its output one by one.

First, the java code is given to start the new CMD window.

Java Code (to start the new CMD window)

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:javajavaprgstu>javac cmdprog1.java
C:javajavaprgstu>java cmdprog1
Opening cmd window
C:javajavaprgstu>

登录后复制
Java程序打开命令提示符并插入命令

方法一:通过使用更改cmd窗口属性的命令。

在这种方法中,使用了两个不同的示例。

  • 示例1:在打开CMD窗口时更改标题。

  • 示例2:在打开CMD窗口时更改背景和前景颜色。

示例1:在打开CMD窗口时更改标题。

Program

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:javajavaprgstu>javac cmdprog22.java
C:javajavaprgstu>java cmdprog22
Opening cmd window
The child process is Alive: true

登录后复制
Java程序打开命令提示符并插入命令

Example 2: Changes the background and foreground color of the CMD window while opening it.

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);
}
}
}

登录后复制

Output (Approach 1: Example 2)

C:javajavaprgstu>javac cmdprog55.java
C:javajavaprgstu>java cmdprog55
Opening cmd window
The child process is Alive: true

登录后复制
Java程序打开命令提示符并插入命令

Approach-2: By Using the executable commands

新的cmd窗口作为子进程打开。插入的命令结果只能在新的cmd窗口中看到。在这种方法中,使用了三个不同的示例。

示例1:在打开的CMD窗口中显示消息。

Example 2 Show the contents of a txt file.

示例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);
}

登录后复制

Output (Approach 2: Example 1)

C:javajavaprgstu>javac cmdprog44.java
C:javajavaprgstu>java cmdprog44
Opening cmd window
The child process is Alive: true

登录后复制
Java程序打开命令提示符并插入命令

示例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:javajavaprgstu>javac cmdprog33.java
C:javajavaprgstu>java cmdprog33
Opening cmd window
The child process is Alive: true
Now showing the content of testfile.txt ...

登录后复制
Java程序打开命令提示符并插入命令

示例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:javajavaprgstu>javac cmdprog66.java
C:javajavaprgstu>java cmdprog66
Opening cmd window
The child process is Alive: true
Now showing the directory in wide format ...

登录后复制
Java程序打开命令提示符并插入命令

Conclusion

In this article, we explored different commands to be inserted into the cmd window after opening it through the java program. The selection of commands is done based on the different categories. The first set of commands changes the properties of the command window while opening it and the second set of commands is used to show results in the opened command window after it is displayed. In both cases, the new cmd window is opened as a child process.

以上就是Java程序打开命令提示符并插入命令的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论