标题: [文本处理] [已解决]如何用批处理转换文件格式? [打印本页]
作者: xptool 时间: 2011-12-26 22:49 标题: [已解决]如何用批处理转换文件格式?
c盘 文件夹ccc 下有 模式01.flt 模式02.flt 模式03.flt。。。。。模式1000.flt 数量不等的flt文件
如何将这些文件 转换成 号码匹配过滤01.mod 号码匹配过滤02.mod 号码匹配过滤03.mod。。。。号码匹配过滤1000.mod 的格式
flt文件
mod文件 可以用记事本打开
把里面的内容
[过滤]
号码匹配过滤=E|2-3;26 12 32 22 14 07 31 01 15 30 13 25 21 19 24 03 08 02 :1,2,3,4,5;29 12 32 22 33 19 23 17 09 05 15 07 08 10 14 24 04 27 :1,2,3,4,5;。。。。。。。。。。
改成
E|2-3
26 12 32 22 14 07 31 01 15 30 13 25 21 19 24 03 08 02 :1,2,3,4,5
29 12 32 22 33 19 23 17 09 05 15 07 08 10 14 24 04 27 :1,2,3,4,5
09 18 17 13 21 29 22 04 27 07 08 10 15 20 31 32 16 02 :1,2,3,4,5
04 14 24 10 20 12 05 15 31 02 03 21 30 01 23 32 26 28 :1,2,3,4,5
08 31 05 07 01 22 10 18 14 15 19 11 13 02 27 33 03 09 :1,2,3,4,5
18 21 03 08 10 28 01 19 13 24 33 26 12 27 09 07 31 29 :1,2,3,4,5
25 31 30 05 16 08 09 14 06 01 20 17 10 29 07 27 03 21 :1,2,3,4,5
15 24 09 32 18 02 05 19 07 21 11 22 27 25 13 28 30 01 :1,2,3,4,5
24 08 09 07 04 32 12 21 28 10 13 06 27 11 26 03 15 01 :1,2,3,4,5
。。。。。。。。
请各位高手看看代码怎么写 谢谢各位老师了
作者: ArdentMan 时间: 2011-12-26 22:55
- @Echo Off
- Ren *.flt *.mod
- Ren 模式* 号码匹配过滤*
复制代码
作者: awk 时间: 2011-12-26 22:58
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /b *.flt') do (
- set newname=%%~na
- set newname=!newname:模式=号码匹配过滤!
- ren "%%a" "!newname!.mod"
- )
复制代码
作者: xptool 时间: 2011-12-26 23:27
谢谢 各位老师
还有个问题 如何修改里面的内容呢
作者: yyykkkyyyy 时间: 2011-12-27 00:23
- @echo off&setlocal enabledelayedexpansion
- cd/d "c:\ccc"
- for /f "delims=" %%i in ('dir/b 模式*.flt')do (
- echo %%i
- set "nf=%%~ni"
- set "nf=!nf:模式=号码匹配过滤!"
- (for /f "delims=号码匹配过滤=" %%j in ('type "%%i"^|find /v "["')do (
- set "h=%%j"
- set "h=!h:;=";"!"
- for %%k in ("!h!")do echo;%%~k
- ))>"!nf!.mod")
- pause
复制代码
作者: xptool 时间: 2011-12-27 00:35
谢谢老师
不知道为什么 只结果运行了一半
E|2-3
26 12 32 22 14 07 31 01 15 30 13 25 21 19 24 03 08 02 :1,2,3,4,5
29 12 32 22 33 19 23 17 09 05 15 07 08 10 14 24 04 27 :1,2,3,4,5
09 18 17 13 21 29 22 04 27 07 08 10 15 20 31 32 16 02 :1,2,3,4,5
04 14 24 10 20 12 05 15 31 02 03 21 30 01 23 32 26 28 :1,2,3,4,5
08 31 05 07 01 22 10 18 14 15 19 11 13 02 27 33 03 09 :1,2,3,4,5
18 21 03 08 10 28 01 19 13 24 33 26 12 27 09 07 31 29 :1,2,3,4,5
25 31 30 05 16 08 09 14 06 01 20 17 10 29 07 27 03 21 :1,2,3,4,5
15 24 09 32 18 02 05 19 07 21 11 22 27 25 13 28 30 01 :1,2,3,4,5
24 08 09 07 04 32 12 21 28 10 13 06 27 11 26 03 15 01 :1,2,3,4,5
17 32 12 19 24 01 23 25 02 18 09 27 30 03 15 29 26 10 :1,2,3,4,5
18 16 30 22 15 14 13 03 25 19 21 02 10 26 06 23 24 17 :1,2,3,4,5
12 18 16 33 07 05 29 20 31 14 11 02 22 23 17 21 30 15 :1,2,3,4,5
27 01 04 11 29 06 17 21 32 03 26 24 14 33 09 10 19 02 :1,2,3,4,5
03 27 12 04 29 13 19 33 15 11 14 22 08 26 23 30 01 20 :1,2,3,4,5
21 05 15 04 19 11 06 22 03 13 28 09 31 02 16 20 26 08 :1,2,3,4,5
10 02 03 16 12 06 13 08 20 26 25 31
应该是这样的
E|2-3
26 12 32 22 14 07 31 01 15 30 13 25 21 19 24 03 08 02 :1,2,3,4,5
29 12 32 22 33 19 23 17 09 05 15 07 08 10 14 24 04 27 :1,2,3,4,5
09 18 17 13 21 29 22 04 27 07 08 10 15 20 31 32 16 02 :1,2,3,4,5
04 14 24 10 20 12 05 15 31 02 03 21 30 01 23 32 26 28 :1,2,3,4,5
08 31 05 07 01 22 10 18 14 15 19 11 13 02 27 33 03 09 :1,2,3,4,5
18 21 03 08 10 28 01 19 13 24 33 26 12 27 09 07 31 29 :1,2,3,4,5
25 31 30 05 16 08 09 14 06 01 20 17 10 29 07 27 03 21 :1,2,3,4,5
15 24 09 32 18 02 05 19 07 21 11 22 27 25 13 28 30 01 :1,2,3,4,5
24 08 09 07 04 32 12 21 28 10 13 06 27 11 26 03 15 01 :1,2,3,4,5
17 32 12 19 24 01 23 25 02 18 09 27 30 03 15 29 26 10 :1,2,3,4,5
18 16 30 22 15 14 13 03 25 19 21 02 10 26 06 23 24 17 :1,2,3,4,5
12 18 16 33 07 05 29 20 31 14 11 02 22 23 17 21 30 15 :1,2,3,4,5
27 01 04 11 29 06 17 21 32 03 26 24 14 33 09 10 19 02 :1,2,3,4,5
03 27 12 04 29 13 19 33 15 11 14 22 08 26 23 30 01 20 :1,2,3,4,5
21 05 15 04 19 11 06 22 03 13 28 09 31 02 16 20 26 08 :1,2,3,4,5
10 02 03 16 12 06 13 08 20 26 25 31 28 01 09 19 22 14 :1,2,3,4,5
31 16 10 01 12 03 26 07 15 21 32 24 30 09 13 06 04 17 :1,2,3,4,5
14 32 18 26 06 03 08 30 09 29 05 11 07 02 31 15 17 25 :1,2,3,4,5
26 15 12 01 10 07 03 30 02 28 11 32 06 24 14 33 31 23 :1,2,3,4,5
11 09 02 04 06 29 23 07 19 03 17 30 27 15 32 28 10 20 :1,2,3,4,5
04 22 28 06 11 26 12 05 24 16 21 25 32 31 20 09 23 08 :1,2,3,4,5
12 21 15 22 03 05 25 20 29 24 09 02 07 19 16 18 26 32 :1,2,3,4,5
09 29 25 24 06 22 17 11 26 02 23 28 30 21 04 31 15 20 :1,2,3,4,5
30 31 24 28 20 17 08 04 33 29 26 06 10 27 02 14 01 32 :1,2,3,4,5
29 12 06 15 02 04 26 01 08 10 17 32 13 20 11 31 19 28 :1,2,3,4,5
11 01 24 03 17 05 20 26 29 18 23 14 15 32 30 33 21 07 :1,2,3,4,5
02 14 25 11 05 28 21 31 29 19 23 07 33 10 03 30 27 15 :1,2,3,4,5
18 12 25 06 21 28 31 32 11 15 01 07 09 30 03 26 08 19 :1,2,3,4,5
23 24 27 10 30 29 19 08 11 04 33 26 17 20 05 25 31 01 :1,2,3,4,5
30 28 24 18 23 33 17 04 05 11 06 25 26 01 03 16 14 32 :1,2,3,4,5
05 02 10 23 09 25 14 18 08 13 24 27 06 29 30 04 33 16 :1,2,3,4,5
17 29 13 10 27 01 04 26 15 09 11 08 14 25 20 02 16 18 :1,2,3,4,5
27 07 03 30 22 06 33 20 25 29 17 04 24 12 09 32 23 31 :1,2,3,4,5
09 01 30 10 29 08 05 32 24 06 19 17 03 20 07 28 13 25 :1,2,3,4,5
10 13 07 20 29 30 11 23 31 08 32 21 18 26 27 03 24 22 :1,2,3,4,5
26 16 17 08 30 21 27 18 04 02 09 10 01 31 20 33 06 19 :1,2,3,4,5
09 26 32 14 33 22 31 11 24 16 01 28 17 15 04 12 18 10 :1,2,3,4,5
06 22 27 05 26 10 23 21 18 31 01 08 03 17 30 12 25 19 :1,2,3,4,5
02 08 26 22 12 28 10 31 06 24 04 25 11 15 23 14 21 18 :1,2,3,4,5
04 26 02 22 05 12 27 21 28 32 17 11 23 03 08 07 14 25 :1,2,3,4,5
作者: yyykkkyyyy 时间: 2011-12-27 09:39
本帖最后由 yyykkkyyyy 于 2011-12-27 20:29 编辑
早该想到超限了, 我是看发的附件可以处理... 拼凑了一段,希望有高手来指导一下- @echo off&setlocal enabledelayedexpansion
- cd/d "c:\ccc"
- more +11 "%~f0">t.bat
- for /f "delims=" %%i in ('dir/b 模式*.flt')do (
- echo %%i
- set "nf=%%~ni"
- set "nf=!nf:模式=号码匹配过滤!"
- start /min /wait t.bat "%%i" "!nf!.mod")
- del t.bat&pause
- goto :eof
- rem ============以下为临时bat文件============
- @echo off&setlocal enabledelayedexpansion
- (for /L %%a in (1,0,1)do (
- set u=&set/p u=
- if not defined u endlocal&exit
- if not "!u:~,1!"=="[" (
- if not exist %2 (
- for /f "tokens=1* delims=号码匹配过滤=;" %%a in ("!u!")do (
- echo %%a>%2
- set u=%%b))
- set "u=!u:;=#";"!"
- for %%u in ("!u!")do (
- set "h=%%~u"
- (if "!h:~-1!"=="#" (echo;!h:~,-1!)else set/p=!h!<nul)>>%2
- ))))<%1
复制代码
作者: xptool 时间: 2011-12-27 19:59
谢谢yyykkkyyyy awk ArdentMan
作者: xptool 时间: 2011-12-27 20:01
谢谢yyykkkyyyy awk ArdentMan
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |