【一键解决】bat批处理文件执行乱码的终极解决办法,只发一次!

在做项目的是否发现一个bat文件调试怎么都不对,而且也没有报错屏幕一闪就没了,命令行单独执行bat文件一点问题没有,真是非常奇怪灵异之极,查找了网上的解决办法,最终解决。首先说一些这是什么问题,

1、程序一闪在排除指令错误等人为错误的情况下,即便在程序中加了WaitForExit()都没用是因为,bat程序调用的动态库,动态库一执行就已经异步返回,WaitForExit马上结束,但是程序如果没有完成它还在跑,这个时候WaitForExit是没有任何作用的,这个时候要让他停下来就要用pause这个bat指令,相当于在bat执行过程中强制停止。这是一个小技巧可以记下。

2、程序退出才原因是由于中文路径乱码导致识别错误。资源加载不了导致指令错误直接退出。

问题找到后就好办了,网上查了一下解决方法,大概分为两大类,4种方法:其中

第一类是修改windows的系统参数,将系统环境调整到utf-8编码,重点是这里的系统编码一定要和程序字符串编码保持一致,否则改了也没用,

首先win键+R,输入regedit

方法1:修改命令号执行环境编码:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor

点击右键-新建,autorun 选择“字符串

 制作成reg文件代码如下:然后就可以一键运行
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe] "autorun "=sz:0000fde9

方法2:修改cmd系统模式环境编码:

HKEY_CURRENT_USER\Console\%SystemRoot%_SYSTEM32_cmd.exe

点击右键-新建,CodePage 选择“32位

 制作成reg文件代码如下:然后就可以一键运行

Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe] "CodePage"=dword:0000fde9

重量重方法是针对不同的乱码问题,通过手动命令行输入用,方法1,代码调用乱码使用,方法2,也就是说系统环境编码和cmd编码实际是可以不同并且互不影响。这种奇葩设定我也没得说了。

第二类是修改程序中字符串编码以及修改bat文件本身的编码格式,如果你是代码执行就修改字符串编码最简单的是改成UFT-8,

方法3:代码中添加字符串转码指令

string[] linesB = { "你好", "测试文件", "文件出现乱码了!"};
System.IO.File.WriteAllLines(XXX保存文件路径, linesB, Encoding.UTF8);

 

方法4:打开bat批处理文件将文件另存为时,选择uft-8编码

 

 

最后总结:如果是个别bat文件执行使用方法2和方式4,如果代码执行则使用方法1和方法3。这里强调一下,系统环境编码一定要和字符串编码一致

如果你觉得有用请点赞,让更多遇到困难的兄弟看到。

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Windows操作系统中,我们经常需要修改DNS服务器地址,尤其是在一些网络环境下,需要手动更改DNS服务器地址比较麻烦,需要经过多个步骤才能完成。因此,我们可以编写一个Windows一键修改DNS批处理脚本.bat来实现快速修改DNS服务器地址的目的。 首先,我们需要打开bat文件编辑器,然后输入以下内容: echo off title 修改DNS服务器地址 ipconfig /flushdns echo 正在修改DNS服务器地址,请稍等... netsh interface ipv4 add dns "本地连接" 8.8.8.8 index=1 netsh interface ipv4 add dns "本地连接" 8.8.4.4 index=2 echo DNS服务器地址修改完成! pause 以上脚本语句实现了如下功能:先清除DNS缓存,然后添加两个DNS服务器地址,依次为8.8.8.8和8.8.4.4,并打印修改DNS服务器地址完成!最后,加入pause命令,让程序暂停,等待用户确认。 此时,我们可以将修改好的批处理脚本.bat文件保存在本地,然后找到文件夹,双击运行,即可实现一键修改DNS服务器地址,轻松快捷完成操作。 总的来说,Windows一键修改DNS批处理脚本.bat可以帮助我们快速地修改DNS服务器地址,节省时间和精力,提高操作效率,是非常实用的一个工具。 ### 回答2: Windows一键修改DNS批处理脚本(.bat)是一种可自动批量修改Windows系统DNS设置的工具。使用这种脚本能够方便地将多台计算机的DNS地址改为指定的服务器地址,从而提高网络访问速度和安全性。以下是编写此脚本的步骤: 首先,打开文本编辑器,如记事本或Notepad++等,创建一个空白文本文件。然后,将以下代码粘贴到文本文件中: @echo off netsh interface ip set dns name="以太网" source=static addr=192.168.1.1 echo DNS地址已成功修改。 pause 其中,以太网是网络适配器的名称,addr为你的DNS服务器的IP地址。这里的代码是为了设置DNS服务器地址为192.168.1.1。 保存文件时,确保将文件扩展名设置为.bat。例如,将文件名保存为“dns.bat”。 运行该脚本时,双击该.bat文件即可。它将自动修改计算机的DNS服务器设置,然后显示一个“DNS地址已成功修改”的消息。用户按任意键即可退出该脚本。 如果需要修改多台计算机的DNS地址,可以将此批处理脚本复制到每个计算机上,以便进行快速的修改。 ### 回答3: Windows一键修改DNS批处理脚本.bat可用于快速更改计算机的DNS设置,以便更轻松地访问互联网。此脚本通过命令行调用Windows的命令行工具来完成这个任务。 首先,需要在脚本中指定所需的DNS服务器的IP地址。可以将这些地址添加到脚本文件中,或者作为参数传递给脚本。 然后,脚本使用netsh命令来配置计算机的DNS设置。这个命令需要管理员权限才能运行,因此,脚本需要在管理员身份下启动。使用以下命令可以实现: ``` netsh interface ip set dns "本地连接" static DNS地址 ``` 其中,DNS地址是指所需的DNS服务器的IP地址,可以是多个。 脚本还可以添加一些用户友好的选项,例如询问用户是否要还原默认DNS设置等。这些选项可以使用批处理编程中的IF语句和GOTO语句实现。 总的来说,Windows一键修改DNS批处理脚本.bat是一个简单但实用的工具,可以帮助计算机用户更轻松地管理他们的网络设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值