![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-03 05:17 |
共 48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [在线求助]如何调用自身前跳过或删除某些代码 |
| 可打印版本 808 / 4 |
| 第1楼 HUNRYBECKY | 发表于 2007-01-20 05:39 |
| 银牌会员 发帖 442 积分 1,179 | |
|
[在线求助]如何调用自身前跳过或删除某些代码 最近正在做一个清理系统的程序,遇到一个小问题,自己想了很久都没有想出很好的方法。
问题描述:我想我的这个批处理也能在繁体系统中运行而且显示为正常的繁体字体,所以使用了一个CT.EXE工具进行转化,但是如何根据系统的语言判断来实现该程序的调用呢,如果是简体则直接跳到CHS来执行,如果是繁体则执行转化,转化后我却不能调用自身了,因为转化为繁体后调用自身会重复执行CHS段前的程序,如何在转化后跳出这段程序呢?我试过使用FOR 语句来实现,但是效果不好.有没有更好的解决方法? |
|
| 第2楼 dikex | 发表于 2007-01-20 06:03 |
| 高级用户 发帖 366 积分 788 | |
|
@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 "%JUT%"=="1" GOTO CHS IF "%LAN%"=="936" GOTO CHS IF "%LAN%"=="950" GOTO CHT :CHT SET JUT=1 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 现在进行清理系统.... 多用了一个判断的环境变量JUT,看看效果如何 一开始打错字了,CHG改CHS,ok [ Last edited by dikex on 2007-1-19 at 09:32 PM ] |
|
| 第3楼 HUNRYBECKY | 发表于 2007-01-20 09:31 |
| 银牌会员 发帖 442 积分 1,179 | |
Originally posted by dikex at 2007-1-20 06:03: 现在回到家里了,因为家里没有装繁体系统,所以不好测试,明天再测试,非常感谢你的回贴。 |
|
| 第4楼 HUNRYBECKY | 发表于 2007-01-21 03:06 |
| 银牌会员 发帖 442 积分 1,179 | |
|
你的代码非常好,测试通过,非常感谢。还有一个问题就是我先这个被调用的批处理PURGECHT.BAT运行完成后删除自己,怎么搞。我在最后加入
后提示还是找不到这个文件,批处理不能自动退出。 |
|
| 第5楼 HUNRYBECKY | 发表于 2007-01-21 03:44 |
| 银牌会员 发帖 442 积分 1,179 | |
|
我现在测试出来了,繁体和简体下面都很好的运行。我在START后加入了删除调用的批处理即可,不能在代码的最后加就没有问题了。另外我精简了下代码。
@ECHO OFF REM 设置是否显示消息提示,消息显示时间(这两个参数可以自己修改),搜索路径,并获取系统语言(950繁体;437英文;936简体) SET ISMSG=YES SET TIMEOUT=3 SET PATH=%CD%;%CD%\TOOLS\;%PATH% SET LAN=936 REM FOR /F "TOKENS=1,2 DELIMS=: " %%I IN ('CHCP') DO SET LAN=%%J IF "%JUT%"=="1" GOTO CHS IF "%LAN%"=="936" GOTO :CHS :CHT SET JUT=1 START /WAIT CT.EXE /B /S "PURGE.BAT" /D "PURGECHT.BAT" START /B/WAIT PURGECHT.BAT IF EXIST PURGECHT.BAT DEL PURGECHT.BAT EXIT :CHS ECHO 系统维护天使V1.0可以实现如下功能 ECHO 1.全方位清理系统垃圾;2.全方位清理和免疫恶意软件;3.全方位优化系统 ECHO 提示:本程序不适合WIN9X机器;本程序可能使系统不稳定;本程序支持繁体和安静模式 ECHO. ECHO ╔──────────────────────────────╗ ECHO │ │ ECHO │ 系统维护天使V1.0 │ ECHO │ 本程序由小布点(秋语)编写制作 │ ECHO │ 欢迎使用小布点制作的绿色软件和其他程序 │ ECHO │ 本程序可以自由复制,使用和发布,版权归作者本人所有 │ ECHO │ QQ:9399100 QQ群号:29946542 E-MAIL:xiaobudian528@sina.com │ ECHO │ │ ECHO ╚──────────────────────────2006─㊣╝ ECHO. ECHO 正在进行清理前的准备工作,请稍候......... PING 127.0.0.1 -n %TIMEOUT% >NULL GOTO :END :END EXIT |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |