![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 06:01 |
共 48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 判断不同行的内容做不同操作批处理 |
| 可打印版本 1,425 / 6 |
| 第1楼 pigvip | 发表于 2006-10-10 02:24 |
| 新手上路 发帖 6 积分 17 | |
|
判断不同行的内容做不同操作批处理 有这样的一个文件,例如名为test.txt 文件内容如下:
org=1.3 org.TYPE=regPt dod=1.3.6 dod.TYPE=regPt internet=1.3.6.1 internet.TYPE=regPt directory=1.3.6.1.1 directory.TYPE=regPt 我想整理好的格式是这样的 如果是.TYPE=regPt,那么显示成如下形式 -- 1.3 org OBJECT IDENTIFIER ::= { iso 3 } //org这个特殊 -- 1.3.6 dod OBJECT IDENTIFIER ::= { org 6 } -- 1.3.6.1 internet OBJECT IDENTIFIER ::= { dod 1 } -- 1.3.6.1.1 directory OBJECT IDENTIFIER ::= { internet 1 } [ Last edited by namejm on 2006-10-17 at 01:11 ] |
|
| 第2楼 lxmxn | 发表于 2006-10-10 11:59 |
| 版主 发帖 4,938 积分 11,386 | |
|
汗一个先…… 如果工作量不大的话,强烈建议手工~~ |
|
| 第3楼 pigvip | 发表于 2006-10-12 01:43 |
| 新手上路 发帖 6 积分 17 | |
|
在论坛上找了点资料,终于实现这个功能了。
|
|
| 第4楼 electronixtar | 发表于 2006-10-12 02:44 |
| 铂金会员 发帖 2,672 积分 7,493 | |
|
如果工作量大的话,强烈建议用Excel。
需要每天都重复使用的自动功能才考虑用bat |
|
| 第5楼 pigvip | 发表于 2006-10-14 03:05 |
| 新手上路 发帖 6 积分 17 | |
|
Excel我不太懂,可以实现我的这个功能吗?
|
|
| 第6楼 lxmxn | 发表于 2006-10-14 07:11 |
| 版主 发帖 4,938 积分 11,386 | |
Originally posted by pigvip at 2006-10-12 01:43: 楼上的可以说来听听是怎么实现的吗?我也想学习一下,谢了。 |
|
| 第7楼 pigvip | 发表于 2006-10-16 21:21 |
| 新手上路 发帖 6 积分 17 | |
|
其实这个部分只是xxx.TYPE=regPt类型的脚本,在这个文件中还有不同类型,写法也不一样,下面的是相关批处理(其实如果光是regPt类型的话,还能写的更简单些。)
setlocal enabledelayedexpansion for /F "skip=18 tokens=1,2 delims==" %%a in (test.txt) do ( set first=!second! set second=%%a set Third=!Fourth! set Fourth=%%b if "!Fourth!" equ "regPt" (if "!Third:~-2,1!" equ "." ( for /F "tokens=1,2 delims==" %%i in ('findstr /r "!Third:~0,-2!$" test.txt') do echo !first! OBJECT IDENTIFIER ::= { %%i !Third:~-1! } >>7.txt ) else (if "!Third:~-3,1!" equ "." ( for /F "tokens=1,2 delims==" %%i in ('findstr /r "!Third:~0,-3!$" test.txt') do echo !first! OBJECT IDENTIFIER ::= { %%i !Third:~-2! } >>7.txt ) else (if "!Third:~-4,1!" equ "." ( for /F "tokens=1,2 delims==" %%i in ('findstr /r "!Third:~0,-4!$" test.txt') do echo !first! OBJECT IDENTIFIER ::= { %%i !Third:~-3! } >>7.txt ) else (if "!Third:~-5,1!" equ "." ( for /F "tokens=1,2 delims==" %%i in ('findstr /r "!Third:~0,-5!$" test.txt') do echo !first! OBJECT IDENTIFIER ::= { %%i !Third:~-4! } >>7.txt ) else (if "!Third:~-6,1!" equ "." for /F "tokens=1,2 delims==" %%i in ('findstr /r "!Third:~0,-6!$" test.txt') do echo !first! OBJECT IDENTIFIER ::= { %%i !Third:~-5! } >>7.txt) ) ) ) ) ) |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |