中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 01:07
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]想问问如何读取文本文件的一段内容并输出
楼 主 [已结]想问问如何读取文本文件的一段内容并输出 发表于 2008-09-26 11:07 ·  日本 NTT通信公司
初级用户
积分 22
发帖 8
注册 2008-09-26 08:20
UID 126658
性别 男
状态 离线
a.txt中

01

我我我我
我我我我

02

你你你你
你你你你
你你你你

03

他他他他
他他他他


文本文件的01,02,03中的长度不同,我想任意取文本文件中02---03中的内容,并把它保存到b.txt文件。

[ Last edited by HAT on 2008-11-5 at 17:58 ]
2 发表于 2008-09-26 11:38 ·  中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
UID 96653
性别 男
状态 离线
任意取文本文件中02---03中的内容 = 取02段的内容或取03段的内容
还是... = 取02段的任意内容或取03段的任意内容

[ Last edited by tireless on 2008-9-26 at 11:42 AM ]
3 发表于 2008-09-26 11:50 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
UID 115804
性别 男
状态 离线
@echo off
for /f "delims=" %%a in (a.txt) do (
if defined a if "%%a" neq "03" (echo %%a) else pause>nul&exit/b
if "%%a" equ "02" set a=a
)
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
4 取所有内容 发表于 2008-09-26 12:06 ·  日本 NTT通信公司
初级用户
积分 22
发帖 8
注册 2008-09-26 08:20
UID 126658
性别 男
状态 离线
取所有内容
5 发表于 2008-09-26 12:08 ·  日本 NTT通信公司
初级用户
积分 22
发帖 8
注册 2008-09-26 08:20
UID 126658
性别 男
状态 离线
Originally posted by pusofalse at 2008-9-26 11:50 AM:
@echo off
for /f "delims=" %%a in (a.txt) do (
if defined a if "%%a" neq "03" (echo %%a) else pause>nul&exit/b
if "%%a" equ " ...

想问问怎么保存到b.txt文件里
6 发表于 2008-09-26 12:09 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
UID 115804
性别 男
状态 离线
@echo off
for /f "delims=" %%a in (a.txt) do (
if defined a if "%%a" neq "03" (echo>>b.txt %%a) else pause>nul&exit/b
if "%%a" equ "02" set a=a
)
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
7 发表于 2008-09-26 12:15 ·  日本 NTT通信公司
初级用户
积分 22
发帖 8
注册 2008-09-26 08:20
UID 126658
性别 男
状态 离线
Originally posted by pusofalse at 2008-9-26 12:09 PM:
@echo off
for /f "delims=" %%a in (a.txt) do (
if defined a if "%%a" neq "03" (echo>>b.txt %%a) else pause>nul&exit/b
if "%%a&qu ...

牛人,谢谢。。。。。。。。。。。。。。。。。。。。。
8 发表于 2008-09-26 12:19 ·  日本 NTT通信公司
初级用户
积分 22
发帖 8
注册 2008-09-26 08:20
UID 126658
性别 男
状态 离线
Originally posted by pusofalse at 2008-9-26 12:09 PM:
@echo off
for /f "delims=" %%a in (a.txt) do (
if defined a if "%%a" neq "03" (echo>>b.txt %%a) else pause>nul&exit/b
if "%%a&qu ...

我要截取多个文件怎么办啊

@echo off
for /f "delims=" %%a in (hint.txt) do (
if defined a if "%%a" neq "02" (echo>>hint01.txt %%a) else pause>nul&exit/b
if "%%a" equ "01" set a=a
)

@echo off
for /f "delims=" %%a in (hint.txt) do (
if defined a if "%%a" neq "03" (echo>>hint02.txt %%a) else pause>nul&exit/b
if "%%a" equ "02" set a=a
)

这样好像不行
9 发表于 2008-09-26 12:23 ·  中国 浙江 宁波 电信
初级用户
积分 62
发帖 24
注册 2008-09-17 19:59
UID 125888
性别 男
状态 离线
findstr /n ....02 a.txt 设置02行的行号hn1
findstr /n ....03 a.txt 设置03行的行号hn2
然后想办法输出行号hn1与hn2之间的内容
具体代码细节我不会,我觉得我的思路应该可行

6楼的代码比较怪异的感觉,居然运行结果是对的
if %%a 不等于03就写入b.txt,可是
if defined a 啥意思呢,变量a不为空值的意思吗
set a=a 就能截取到上限了?
简单而高深啊,理解不透。。。

[ Last edited by ygrzzz on 2008-9-26 at 12:45 PM ]
10 发表于 2008-09-26 12:32 ·  日本 NTT通信公司
初级用户
积分 22
发帖 8
注册 2008-09-26 08:20
UID 126658
性别 男
状态 离线
我能将如此之类的多个批处理文件最后再合到一个批处理去行吗
11 发表于 2008-09-26 18:00 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
Originally posted by yrt11 at 2008-9-26 12:32:
我能将如此之类的多个批处理文件最后再合到一个批处理去行吗

可以的,只需要用for把多个文件连接起来就可以了。

@echo off
for /f "delims=" %%a in (file1.txt file2.txt file3.txt) do (
if defined a if "%%a" neq "03" (echo>>b.txt %%a) else pause>nul&exit/b
if "%%a" equ "02" set a=a
if "%%a" equ "03" set a=
)
12 求助:用批处理实现导出oracle数据库!! 发表于 2008-11-05 16:51 ·  中国 北京 鹏博士BGP
新手上路
积分 8
发帖 5
注册 2008-02-02 19:34
UID 110061
性别 男
状态 离线
我现在有个文本文件,里面的内容是
4360,BM6333
4367,BM6338
4373,BM6322
4385,BM6334
4391,BM6323
这样的,要把第一列的值符给一个变量1,把第二列的内容付给变量2,怎么实现呢?

exp 用户名/密码@服务器名 file=e:\WorkSpace\变量2.dmp table=(mcc_asyn_pos) query=\"where suid=变量1 and utc between 1216483200 and 1222704000\"

这语句是用来导出oracle数据库的内容的!!
谢谢,不想手工一个一个写,就想用批处理实现下!!

另外我留个QQ:147180994,方便以后请教问题,谢谢!!
13 Re 12楼 发表于 2008-11-05 17:59 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
有问题请单独发帖提问,你在别人的帖子里面跟帖提问的话,很少有人能看到你的问题,愿意回答问题的就更少了。
论坛跳转: