Originally posted by HUNRYBECKY at 2007-2-13 04:20:
─────────────────── 版务记录 ────────────────────
执行:namejm
说明:{tid=27658}与本主 ...
谢谢处罚,因为当时比较急,又要放假了,想在放假前做处理,放假后可能很少上网,不是很方便,所以发多个帖子以加快回答的速度.我以后会记住的.
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
Originally posted by HUNRYBECKY at 2007-2-13 04:20:
─────────────────── 版务记录 ────────────────────
执行:namejm
说明:{tid=27658}与本主 ...
@ECHO OFF
SET PATH=%CD%;%CD%\TOOLS\;%PATH%
IF NOT EXIST BACKUP\IME MD BACKUP\IME
FOR /F "EOL=;DELIMS=" %%I IN ('FINDSTR /I/V ".ime .mb .lex .tbl .hlp .cnt .dll" .\Purge\IME.SVE') DO (
ECHO 正在压缩备份输入法%windir%\%%I\下的文件,请稍等......
PING 127.0.0.1 -n %TIMEOUT% >NUL
RAR.EXE A -ED -EP3 -IDQ ".\BACKUP\IME\%%~nI" "%windir%\%%I"
)
PAUSE
;要备份和清理的输入法和键盘布局文件名请放到这里:如是简体系统则默认保留智能ABC;内码输入;全拼输入;繁体则保留(新)注音输入法,另外必须注意有目录的输入法保留时请使用目录,如MS拼音PINTLGNT,否则必须输入带扩展名的具体输入法的所有文件
;简体输入法名称:PINTLGNT:微软拼音3.0;IMSC40W:微软拼音4.0;智能ABC:WINABC;全拼:WINPY;双拼:Winsp;Winzm:郑码;Wingb:内码;Winbx:表形
;繁体输入法名称:新倉頡:CINTLGNT;倉頡:chajei;新注音:TINTLGNT;注音:phon.ime;速成:quick;BIG5码:winime;行列:winar30;:大易:dayi;U码:unicdime;英数:romanime
;其他输入法名称:IMKR6_1韩文输入;IMJP8_1日文输入
;
;
;可备份和清理的输入法,如果想保留则使用;注释掉要清理的项目;也可以添加其他输入法,如%ProgramFiles%\wnwb2005
;简体中文输入法
system32\IME\PINTLGNT
;
;繁体中文输入法
ime\CHTIME
system32\IME\CINTLGNT
system32\IME\TINTLGNT
;
;日文输入法(保留IMJP8_1)
ime\IMJP8_1
system32\imjp81.ime
system32\imjp81k.dll
system32\kbdjpn.dll
system32\msir3jp.dll
system32\msir3jp.lex
ime\imejp98
ime\imejp
;
;韩文输入法
ime\IMKR6_1
system32\imekr61.ime
system32\kbdkor.dll
system32\korwbrkr.dll
system32\korwbrkr.lex
;
;保留的键盘布局如下
;kbdus.dll
@echo off
for /f "delims=" %%i in (list.txt) do if not "%%~xi" == "" echo %%~ni
pauseime\IMJP8_1
system32\imjp81.ime
system32\imjp81k.dll
system32\kbdjpn.dll
system32\msir3jp.dll
system32\msir3jp.lex| 评分人 | 分数 | 时间 |
|---|---|---|
| HUNRYBECKY | +5 | 2007-02-14 02:33 |
Originally posted by zh159 at 2007-2-13 23:10:
判断是否文件夹(缺点:不能区分包含“.”名称的文件夹):
@echo off
for /f "delims=" %%i in (list.txt) do if not "%%~xi" == "" echo % ...
@ECHO OFF
SET PATH=%CD%;%CD%\TOOLS\;%PATH%
SET TIMEOUT=1
IF NOT EXIST BACKUP\IME MD BACKUP\IME
FOR /F "EOL=;DELIMS=" %%I IN (.\Purge\IME.SVE) DO (
PING 127.0.0.1 -n %TIMEOUT% >NUL
ECHO 正在压缩备份输入法%windir%\%%I\下的文件,请稍等......
FOR /F "DELIMS=" %%A in ('ECHO %%I^|FINDSTR /I/V ".ime .mb .lex .tbl .hlp .cnt .dll"') DO (
ECHO %%A
)
REM RAR.EXE A -ED -EP3 -IDQ ".\BACKUP\IME\%%~nI" "%windir%\%%I"
)
PAUSE
Originally posted by zh159 at 2007-2-13 23:46:
要扩展名简单啊:
@echo off
for /f "delims=" %%i in (list.txt) do if not "%%~xi" == "" echo %%~nxi
pause
@ECHO OFF
SET PATH=%CD%;%CD%\TOOLS\;%PATH%
SET TIMEOUT=1
IF NOT EXIST BACKUP\IME MD BACKUP\IME
FOR /F "EOL=;DELIMS=" %%I IN (.\Purge\IME.SVE) DO (
FOR /F "DELIMS=" %%A IN ("%%I") DO (
IF "%%~xA"=="" (
PING 127.0.0.1 -n %TIMEOUT% >NUL
ECHO 正在压缩备份输入法%windir%\%%I\下的文件,请稍等......
RAR.EXE A -ED -EP3 -IDQ ".\BACKUP\IME\%%~nA" "%windir%\%%I"
ECHO %%~nA>"%TEMP%\LIME.TXT"
) ELSE (
FOR /F "DELIMS=" %%J IN (%TEMP%\LIME.TXT) DO (
REM ECHO ".\BACKUP\IME\%%J" "%windir%\%%I"
RAR.EXE A -ED -EP3 -IDQ ".\BACKUP\IME\%%J" "%windir%\%%I"
)
)
)
)
DEL /F/Q/A "%TEMP%\LIME.TXT"
GOTO END
:END
PAUSE
可以组合修饰符来得到多重结果:
%~dpI - 仅将 %I 扩充到一个驱动器号和路径
%~nxI - 仅将 %I 扩充到一个文件名和扩展名
%~fsI - 仅将 %I 扩充到一个带有短名的完整路径名
%~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个驱动器号和路径。
%~ftzaI - 将 %I 扩充到类似输出线路的 DIR