bat文件不执行 闪退问题及处理
尝试写了一个tree命令批处理文件自动执行 但是bat闪退 未执行
一番搜索后找到了问题
批处理文件(.bat文件)可以使用以下几种编码方式进行保存:
ANSI编码:这是最常用的编码方式,适用于Windows操作系统。使用ANSI编码时,每个字符占用一个字节,支持包含ASCII字符的文本。
Unicode编码:这种编码方式支持所有Unicode字符,包括中文、日文、韩文等。使用Unicode编码时,每个字符占用两个字节,支持双字节字符集。
UTF-8编码:这种编码方式是一种可变长度的Unicode编码,用于在各种平台之间传输Unicode字符。使用UTF-8编码时,每个字符占用1-4个字节,支持全球范围内的任何字符。
无论使用哪种编码方式,都应该确保编码与文件内容的实际字符集匹配,以避免出现乱码或其他问题。
bat文件似乎对编码有具体要求
网上其它常规解决方法有3个
1.bat文件内最后加Pause
2.bat文件内最后加cmd.exe
3.另建一个bat用于启动原来要跑的bat(start xxx.bat)
依旧闪退,尝试更改文件编码为ANSI,解决,bat文件执行成功
后续遇到bat文件执行失败 可以按以下步骤排查
确保文件名和路径中不包含非法字符,如空格、特殊字符等。
缩短文件名或路径长度,尽量避免过长的文件名或路径。
检查存储文件的目录是否存在,以及是否有写入权限。
确定以上没问题及命令无错误后
依次尝试
1.更改bat文件编码为ANSI/Unicode/UTF-8
2.bat文件内最后加Pause
3.bat文件内最后加cmd.exe
4.另建一个bat用于启动原来要跑的bat(start xxx.bat)
附上更改编码的工具 Notepad--
https://gitee.com/cxasm/notepad--/releases/tag/v2.5
自行按系统对于下载即可 打开后选择编码 转换到ANSI即可