无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 904|回复: 18
打印 上一主题 下一主题

[分享] 脚本中检测路径中包含汉字的方法

[复制链接]
跳转到指定楼层
1#
发表于 前天 07:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 baby1277 于 2025-9-7 20:01 编辑

部分命令不支持路径中带有汉字(例如Dism和VHD)

如路径中有汉字就可能因为编码问题导致报错或闪退

所以需要在脚本的开头加上检测路径中包含汉字的必要

以下是我使用的方法,原理很简单:


分别把路径写入到ANSI和UTF-8编码格式的文本,再对比文件内容。

文件内容相同说明路径没有汉字字符,不相同说明存在汉字字符。

因为在UTF-8编码格式下汉字字符因乱码会导致其内容与ANSI编码格式下不同


  1. @echo off
  2. title baby1277 2025.9.7
  3. cd /d %temp%
  4. set nameP=%~dp0
  5. echo chcp 65001 >read.bat
  6. echo echo %nameP%^>"%cd%\UTF-8.TXT">>read.bat
  7. echo exit >>read.bat
  8. start /min /wait "" "%cd%\read.bat"
  9. echo %nameP%>ANSI.TXT
  10. for /f "delims=" %%a in (UTF-8.TXT) do for /f "delims=" %%b in (ANSI.TXT) do (
  11. if "%%a"=="%%b" (echo 当前路径中(没有)汉字字符) else echo 当前路径中(存在)汉字字符
  12. )
  13. pause>nul
复制代码
检测路径中包含汉字.zip (554 Bytes, 下载次数: 11)

评分

参与人数 1无忧币 +5 收起 理由
cuicongyuan + 5 赞一个!

查看全部评分

2#
发表于 前天 07:29 | 只看该作者
本帖最后由 窄口牛 于 2025-9-6 07:36 编辑

subst了解一下,范例

点评

subst命令有很大的局限性,重启盘符就消失了,如果后期还有其他操作也不好搞 VHD系统启动不支持中文路径,添加bcd启动项就需要检查路径中时候存在中文。 用subst命令映射掉VHD文件的中文路径能成功添加bcd菜单实  详情 回复 发表于 前天 08:21
回复

使用道具 举报

3#
发表于 前天 07:47 | 只看该作者
谢谢分享!
回复

使用道具 举报

4#
发表于 前天 08:10 | 只看该作者
谢谢提供
回复

使用道具 举报

5#
发表于 前天 08:18 | 只看该作者
这个可以 不错
回复

使用道具 举报

6#
 楼主| 发表于 前天 08:21 | 只看该作者
窄口牛 发表于 2025-9-6 07:29
subst了解一下,范例。

subst命令有很大的局限性,重启盘符就消失了,如果后期还有其他操作也不好搞

VHD系统启动不支持中文路径,添加bcd启动项就需要检查路径中时候存在中文。
用subst命令映射掉VHD文件的中文路径能成功添加bcd菜单实则其实根本启动不了系统。

所以subst能用,但不推荐,适用性低,最好提示让用户自己修改路径。

点评

嗯,你说的确实。  详情 回复 发表于 前天 08:29
回复

使用道具 举报

7#
发表于 前天 08:29 来自手机 | 只看该作者
baby1277 发表于 2025-9-6 08:21
subst命令有很大的局限性,重启盘符就消失了,如果后期还有其他操作也不好搞

VHD系统启动不支持中文路 ...

嗯,你说的确实。
回复

使用道具 举报

8#
发表于 前天 08:55 | 只看该作者
谢谢分享
回复

使用道具 举报

9#
发表于 前天 11:39 | 只看该作者
感谢楼主分享
回复

使用道具 举报

10#
发表于 前天 15:15 | 只看该作者
感谢楼主分享
回复

使用道具 举报

11#
发表于 前天 15:21 | 只看该作者
感谢分享!
回复

使用道具 举报

12#
发表于 前天 17:31 | 只看该作者
感谢分享!
回复

使用道具 举报

13#
发表于 前天 19:13 来自手机 | 只看该作者
遇到过temp设为中文的
回复

使用道具 举报

14#
发表于 前天 20:29 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

15#
发表于 前天 20:32 | 只看该作者
谢谢分享!
回复

使用道具 举报

16#
发表于 前天 20:41 | 只看该作者
感谢大佬热心分享,辛苦了
回复

使用道具 举报

17#
发表于 前天 20:50 | 只看该作者
谢谢分享
回复

使用道具 举报

18#
发表于 昨天 13:09 | 只看该作者
谢谢分享
回复

使用道具 举报

19#
发表于 昨天 14:11 来自手机 | 只看该作者
感谢楼主分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-9-8 01:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表