单位的很多电脑安装了中文名称的字体,我想用批处理删除Fonts文件夹中的中文名称字体,并删除"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts"里,键值数据为中文名称字体对应的键值名称。- @ECHO OFF & SETLOCAL ENABLEEXTENSIONS
- SET FontsRegKey="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts"
- ECHO 文星简小标宋>tmp.txt
- 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 & pause >nul
- IF EXIST "%windir%\Fonts\%%i.ttf" (
- DEL /q /f "%windir%\Fonts\%%i.ttf"
- ECHO %%i.ttf删除成功! & PAUSE >nul
- ) ELSE (
- ECHO 未找到%%i.ttf! & PAUSE >nul
- )
- ECHO %%i
- 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)"删除失败!
- )
- PAUSE
- )
- DEL tmp.txt
复制代码 上述批处理运行没有问题,但有两个问题,求助解决:
1.第17、18行,为什么用 && 连接在一起,批处理就不能运行,我的本意是如果DEL成功,再用ECHO显示删除成功。请问如何修改才能用 && 连接在一起?
2.文星简小标宋.ttf安装时,在注册表里生成的键值名称是乱码,上述批处理不能删除该键值名称,请问如何才能删除?
文星简小标宋.ttf下载链接:
http://pan.baidu.com/s/1c0xXFLe |