中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 06:55
47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » [已结]想问问如何读取文本文件的一段内容并输出
可打印版本  982 / 12
第1楼 yrt11 发表于 2008-09-26 11:07
初级用户 发帖 8 积分 22
[已结]想问问如何读取文本文件的一段内容并输出
a.txt中

01

我我我我
我我我我

02

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

03

他他他他
他他他他


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

[ Last edited by HAT on 2008-11-5 at 17:58 ]
第2楼 tireless 发表于 2008-09-26 11:38
银牌会员 发帖 1,122 积分 2,025
任意取文本文件中02---03中的内容 = 取02段的内容或取03段的内容
还是... = 取02段的任意内容或取03段的任意内容

[ Last edited by tireless on 2008-9-26 at 11:42 AM ]
第3楼 pusofalse 发表于 2008-09-26 11:50
银牌会员 发帖 646 积分 1,604
第4楼 yrt11 发表于 2008-09-26 12:06
初级用户 发帖 8 积分 22
取所有内容
取所有内容
第5楼 yrt11 发表于 2008-09-26 12:08
初级用户 发帖 8 积分 22
Originally posted by pusofalse at 2008-9-26 11:50 AM:
第6楼 pusofalse 发表于 2008-09-26 12:09
银牌会员 发帖 646 积分 1,604
第7楼 yrt11 发表于 2008-09-26 12:15
初级用户 发帖 8 积分 22
Originally posted by pusofalse at 2008-9-26 12:09 PM:
第8楼 yrt11 发表于 2008-09-26 12:19
初级用户 发帖 8 积分 22
Originally posted by pusofalse at 2008-9-26 12:09 PM:
第9楼 ygrzzz 发表于 2008-09-26 12:23
初级用户 发帖 24 积分 62
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楼 yrt11 发表于 2008-09-26 12:32
初级用户 发帖 8 积分 22
我能将如此之类的多个批处理文件最后再合到一个批处理去行吗
第11楼 lxmxn 发表于 2008-09-26 18:00
版主 发帖 4,938 积分 11,386
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楼 hmilywenjia 发表于 2008-11-05 16:51
新手上路 发帖 5 积分 8
求助:用批处理实现导出oracle数据库!!
我现在有个文本文件,里面的内容是
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楼 HAT 发表于 2008-11-05 17:59
版主 发帖 5,017 积分 9,023
Re 12楼
有问题请单独发帖提问,你在别人的帖子里面跟帖提问的话,很少有人能看到你的问题,愿意回答问题的就更少了。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023