最近正在做一个清理系统的程序,遇到一个小问题,自己想了很久都没有想出很好的方法。
问题描述:我想我的这个批处理也能在繁体系统中运行而且显示为正常的繁体字体,所以使用了一个CT.EXE工具进行转化,但是如何根据系统的语言判断来实现该程序的调用呢,如果是简体则直接跳到CHS来执行,如果是繁体则执行转化,转化后我却不能调用自身了,因为转化为繁体后调用自身会重复执行CHS段前的程序,如何在转化后跳出这段程序呢?我试过使用FOR 语句来实现,但是效果不好.有没有更好的解决方法?
@ECHO OFF
REM 设置初试环境:默认为非安静模式;增加TOOLS搜索路径;获取系统语言(950繁体;437英文;936简体)
SET ISMSG=YES
SET PATH=%CD%;%CD%\TOOLS\;%PATH%
FOR /F "TOKENS=1,2 DELIMS=: " %%I IN ('CHCP') DO SET LAN=%%J
IF "%LAN%"=="936" GOTO CHS
IF "%LAN%"=="950" GOTO CHT
:CHT
IF EXIST PURGECHT.BAT GOTO :CHTOK
CT.EXE /B /S PURGE.BAT /D PURGECHT.BAT
GOTO :CHTOK
:CHTOK
START /B "" "PURGECHT.BAT"
GOTO CHS
EXIT
:CHS
ECHO 现在进行清理系统....