中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 22:12
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何读取文件中的某几行到另外一个文件
可打印版本  863 / 14
第1楼 jia332 发表于 2008-05-27 11:02
初级用户 发帖 81 积分 160
如何读取文件中的某几行到另外一个文件
读取文件test1.txt 中的第1,3,4,6,7行到test2.txt
test1 内容
port a 1
port b 2
port c 3
port d 4
port e 5
port f 6
port g 7
port h 8
port i 9
第2楼 huahua0919 发表于 2008-05-27 11:10
银牌会员 发帖 780 积分 1,608
第3楼 jia332 发表于 2008-05-27 11:15
初级用户 发帖 81 积分 160
谢谢huahua0919的帮助 如果我test1中的文件内容是这样



SET Port1=0
SET Port2=1
SET Port2=low



SET Port1=0
SET Port2=0


SET Port1=0
SET Port2=0


SET Port1=0
SET Port2=0
SET Port3=0
SET Port4=0
SET Port5=1
SET Port5=full

SET Port6=1
SET Port6=full



SET Port1=0
SET Port2=0


SET Port1=0
SET Port2=0


SET Port1=1
SET Port1=full

SET Port2=0


SET Port1=1
SET Port1=full

SET Port2=0
SET Port3=0
SET Port4=0
SET Port5=0
SET Port6=0
呢?
第4楼 HAT 发表于 2008-05-27 11:15
版主 发帖 5,017 积分 9,023
第5楼 huahua0919 发表于 2008-05-27 11:18
银牌会员 发帖 780 积分 1,608
那就试试HAT兄的代码
第6楼 bat-zw 发表于 2008-05-27 11:23
金牌会员 发帖 1,276 积分 3,105
Originally posted by HAT at 2008-5-27 11:15:
@echo off
setlocal enabledelayedexpansion
set row=0
type nul>"C:\test\test2.txt"
for /f "tokens=1,2* delims=:" %%a in ('findstr /n .* "C:\test\test1.txt"' ...

可简化:


[ Last edited by zw19750516 on 2008-5-27 at 11:37 AM ]
第7楼 jia332 发表于 2008-05-27 11:29
初级用户 发帖 81 积分 160
谢谢两位高手的回复
第8楼 jia332 发表于 2008-05-31 10:47
初级用户 发帖 81 积分 160
HAT兄
如果是空行为什么显示的是echo is off 而不是空行
第9楼 HAT 发表于 2008-05-31 10:50
版主 发帖 5,017 积分 9,023
Originally posted by jia332 at 2008-5-31 10:47 AM:
HAT兄
如果是空行为什么显示的是echo is off 而不是空行

在计算1,3,4,6,7行的时候,空行是否需要计算在内?
第10楼 jia332 发表于 2008-05-31 11:17
初级用户 发帖 81 积分 160
要计算在内
第11楼 WANKOILZ 发表于 2008-05-31 12:47
初级用户 发帖 89 积分 198 来自 重庆
借用zw兄的代码,要计算空行:
第12楼 26933062 发表于 2008-05-31 14:29
银牌会员 发帖 879 积分 2,268


[ Last edited by 26933062 on 2008-5-31 at 05:11 PM ]
第13楼 terse 发表于 2008-05-31 17:00
银牌会员 发帖 946 积分 2,404
Originally posted by 26933062 at 2008-5-31 14:29:
第14楼 26933062 发表于 2008-05-31 17:12
银牌会员 发帖 879 积分 2,268
Originally posted by terse at 2008-5-31 17:00:

楼兄笔误哦 %%i应该%%a
延迟也可以去了吧

粗心,谢提醒,以改正。
第15楼 jia332 发表于 2008-05-31 18:35
初级用户 发帖 81 积分 160
Originally posted by 26933062 at 2008-5-31 14:29:




echo. 这个。就可以解决了,兄弟我又学了一招。 十分感谢大家帮助
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023