![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 01:32 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 按要求逐行处理文件文本 |
| 可打印版本 824 / 1 |
| 第1楼 junyee | 发表于 2009-06-12 08:48 |
| 中级用户 发帖 112 积分 253 | |
|
按要求逐行处理文件文本 有一文本文件,如下
HKEY_LOCAL_MACHINE\SYSTEM HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\a b HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\c 。。。 要求通过批处理处理后为 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\a b HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\c 解释 HKEY_LOCAL_MACHINE\SYSTEM HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001 (是第一行的子项,抛弃第一行,保留本行) HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control (是第二行的子项,继续抛弃第二行,保留本行) HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\a b (是第三行的子项,继续抛弃第三行,保留本行) HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\c (不是第三行的子项,保留本行) 判断是不是上一行的子项对我来说难度过高啦,何况还有一个"\"这也很棘手. 请高手帮忙则个. 不知道这样的标题是否违规,反正我觉得这问题不怎么好描述. 坛里处理文本的帖子实在太多了.不过不太好找,因为有许多重复的问题被提出. 希望有热心的朋友帮忙整理一下,也好让像我一样的新手能够更方便地学习哈.. |
|
| 第2楼 DXSX | 发表于 2009-06-13 22:40 |
| 中级用户 发帖 147 积分 247 | |
|
用find 搜索判断文件行数,如果内容是独一无二的就传递给文件2.txt
如果 你的文本文件是 1.txt 可以编辑如下代码的1.cmd 批处理 ,然后运行,会生成2.txt 看看2.txt文件的结果吧,是否符合要求。 @echo off if exist 2.txt del 2.txt for /f "delims=" %%c in (1.txt) do ( ECHO 查找 %%c for /f "delims=: tokens=1,2" %%d in ('find /i /c "%%c" 1.txt') do ( echo 发现 %%e 个 if %%e EQU 1 ECHO %%c >>2.TXT ) ) 运行原理: 1、用for 逐一摘取文件 1.txt 各行内容 并附变量%%c 2、用find 搜索文件中包含 %%c 内容的行数并通过for 获取行数信息给变量 %%e 3、如果 %%e 等于 1 说明是独一无二的,就将其传递给文件 2.txt [ Last edited by DXSX on 2009-6-13 at 23:25 ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |