回复 1# dyfgkxue
修改了下你代码的处理逻辑,文星简小标宋注册表乱码的问题要单独处理,使用注册表文件直接导入空值删除的方法,reg文件见附件- @ECHO OFF & SETLOCAL ENABLEEXTENSIONS
- SET FontsRegKey="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts"
- ECHO 文星仿宋>>tmp.txt
- rem ECHO 文星楷体>>tmp.txt
- rem ECHO 文星黑体>>tmp.txt
- rem ECHO 文星标宋>>tmp.txt
- ECHO 方正小标宋简体>>tmp.txt
- ECHO 方正仿宋简体>>tmp.txt
- ECHO 方正小标宋_GBK>>tmp.txt
- rem ECHO 方正仿宋_GBK>>tmp.txt
- rem ECHO 方正楷体_GBK>>tmp.txt
- rem ECHO 方正黑体_GBK>>tmp.txt
- FOR /f "eol= delims=" %%i IN (tmp.txt) DO (
- ECHO 正在查找%windir%\Fonts\%%i.ttf
- IF EXIST "%windir%\Fonts\%%i.ttf" (
- DEL /q /f "%windir%\Fonts\%%i.ttf" && ECHO %%i.ttf删除成功!
- FOR /f %%j IN ('reg query %FontsRegKey% ^| findstr /i %%i.ttf') DO (
- REG delete %FontsRegKey% /v "%%j (TrueType)" /f >nul 2>nul &&ECHO 注册表键值"%%j (TrueType)"删除成功!||ECHO 注册表键值"%%j (TrueType)"删除失败!
- )
- ) ELSE (
- ECHO 未找到%%i.ttf!
- )
- )
- DEL tmp.txt
- del "%windir%\Fonts\文星简小标宋.ttf" 2>nul
- regedit /s "文星简小标宋.reg"
- PAUSE
复制代码
|