|
本帖最后由 baby1277 于 2025-9-7 20:01 编辑
部分命令不支持路径中带有汉字(例如Dism和VHD)
如路径中有汉字就可能因为编码问题导致报错或闪退
所以需要在脚本的开头加上检测路径中包含汉字的必要
以下是我使用的方法,原理很简单:
分别把路径写入到ANSI和UTF-8编码格式的文本,再对比文件内容。
文件内容相同说明路径没有汉字字符,不相同说明存在汉字字符。
因为在UTF-8编码格式下汉字字符因乱码会导致其内容与ANSI编码格式下不同
- @echo off
- title baby1277 2025.9.7
- cd /d %temp%
- set nameP=%~dp0
- echo chcp 65001 >read.bat
- echo echo %nameP%^>"%cd%\UTF-8.TXT">>read.bat
- echo exit >>read.bat
- start /min /wait "" "%cd%\read.bat"
- echo %nameP%>ANSI.TXT
- for /f "delims=" %%a in (UTF-8.TXT) do for /f "delims=" %%b in (ANSI.TXT) do (
- if "%%a"=="%%b" (echo 当前路径中(没有)汉字字符) else echo 当前路径中(存在)汉字字符
- )
- pause>nul
复制代码
检测路径中包含汉字.zip
(554 Bytes, 下载次数: 11)
|
评分
-
查看全部评分
|