【开发环境】Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 ( 输出 GB2312 格式处理中文乱码 | \r\n换行 | Runtime 执行 Cmd 命令 )

简介: 【开发环境】Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 ( 输出 GB2312 格式处理中文乱码 | \r\n换行 | Runtime 执行 Cmd 命令 )

文章目录

Java 文件生成 Windows 系统 .bat 批处理文件并自动执行

1、生成 bat 脚本注意事项

2、Java 执行 Cmd 命令

3、完整代码示例

4、执行结果





Java 文件生成 Windows 系统 .bat 批处理文件并自动执行



1、生成 bat 脚本注意事项


在 Windows 中生成 bat 脚本时 , 必须输出 gb2312 编码的字符串 , 否则执行时会出现中文乱码 ;


另外还要注意 , WIndows 中的换行时 \r\n , 不要忽略这个问题 , 否则也会出错 ;


【错误记录】Windows 系统 bat 脚本报错 ( Java 生成 bat 脚本乱码处理 | 输出 GB2312 字符串 | Windows 中的换行时 \r\n )



2、Java 执行 Cmd 命令


使用 Runtime.getRuntime().exec 执行 Cmd 命令 ; 通过 BufferedReader 读取执行过程中的输出信息 ;



3、完整代码示例


import java.io.*;
public class Main {
    public static void main(String[] args) throws Exception {
        File bat = new File("cmd.bat");
        OutputStreamWriter osw =new OutputStreamWriter(
                (new FileOutputStream("cmd.bat")),"gb2312");
        osw.write("echo 生成 BAT 脚本\r\n");
        osw.write("echo 执行命令\r\n");
        osw.close();
        String ret = excuteCmdCommand("cmd.bat");
        System.out.println(ret);
    }
    /**
     * 执行 cmd 命令
     * @param cmdCommand
     * @return
     */
    public static String excuteCmdCommand(String cmdCommand)
    {
        StringBuilder stringBuilder = new StringBuilder();
        Process process = null;
        try {
            process = Runtime.getRuntime().exec(cmdCommand);
            BufferedReader bufferedReader = new BufferedReader(
                    new InputStreamReader(process.getInputStream(), "GBK"));
            String line = null;
            while((line=bufferedReader.readLine()) != null)
            {
                stringBuilder.append(line+"\n");
            }
            return stringBuilder.toString();
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}



4、执行结果


执行上述程序 , 执行结果如下 :

image.png


目录
相关文章
|
2月前
|
Windows
如何查看自己电脑的windows系统版本?
这篇文章提供了一种简单快捷的方法来查看自己电脑的Windows系统版本,通过使用Windows的"运行"功能并输入`winver`命令来快速获取系统版本信息。
如何查看自己电脑的windows系统版本?
|
2天前
|
Linux Windows
Windows系统批量创建文件夹的技巧
Windows系统批量创建文件夹的技巧
|
5天前
|
监控 网络安全 Windows
Windows系统命令
Windows系统命令
12 1
|
28天前
|
存储 安全 开发工具
windows开发环境备份,再也不怕重装系统了
【9月更文挑战第2天】在Windows系统中备份开发环境可大幅提升重装系统后的效率。本文详细介绍五个关键步骤:备份开发工具及软件包;保存配置文件;备份数据库与数据文件;确保代码仓库的安全;记录安装步骤与注意事项。遵循这些建议,重装系统时可迅速恢复开发环境,避免重复劳动。
|
5天前
|
Windows
在Windows xp中即时创建系统还原点的秘技
在Windows xp中即时创建系统还原点的秘技
|
1月前
|
存储 Web App开发 调度
Windows系统新手教程:常见操作命令帮你玩转电脑
Windows系统新手教程:常见操作命令帮你玩转电脑
69 5
|
1月前
|
Linux 网络虚拟化 Windows
ccproxy windows上用的代理软件(类似linux系统上的squid)
ccproxy windows上用的代理软件(类似linux系统上的squid)
|
5月前
|
Windows
Windows 命令提示符(CMD)操作(七):扩展命令和功能
Windows 命令提示符(CMD)操作(七):扩展命令和功能
|
6天前
|
Windows
windows 下面的 cmd命令
windows 下面的 cmd命令
|
11月前
|
开发工具 Windows
编写bat文件在windows上自动执行cmd命令
windows 电脑上直接新建 txt 记事本文件,编写好要执行的命令后,将后缀修改成 .bat,然后直接点击文件就可以执行里面的命令了
240 0