中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 20:43
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]从长文本中拷贝固定的行到新文本中[话题已结] 查看 689 回复 3
楼 主 [求助]从长文本中拷贝固定的行到新文本中[话题已结] 发表于 2008-09-26 12:35 ·  美国 新泽西州 伯灵顿 Comcast有线通信股份有限公司
新手上路
积分 9
发帖 4
注册 2008-09-26 11:26
17年会员
UID 126677
性别 男
状态 离线
目的:从一个很长的文本中提取有用的一些行,放到另外的一个文本文件里
要求:a:源文本很长
b:源文本包含有*,@,_,等字符
c:要求源文件行前的空格也转移到新文件中
细节:源文件名称ut00001.txt
新文件名称:force.txt
将源文件的第812,1779,1792,1793....行按原格式转移到新文件中

注:因为很急,没有时间从头学起了,可能没有挑战性,望路过的大虾们施以援手,解一时之困!!
在这里先谢过了


很快就回复了,对我帮助很大,问题核心部分得到了解决
感谢论坛,感谢两位朋友
另外:
我对2楼和4楼都做了测试
4楼的输出结果很好,
2楼的双击之后没有反映,没有cmd窗口或者force.txt文档
最后,再次感谢两位达人的热心帮助

[ Last edited by pclxxxh on 2008-9-28 at 00:04 ]
2 发表于 2008-09-26 13:07 ·  中国 上海 浦东新区 电信
中级用户
★★
积分 484
发帖 250
注册 2007-06-05 23:33
19年会员
UID 90372
性别 男
状态 离线

for /f "tokens=1* delims=:" %%i in ('find /n .* 00001.txt') do (
if not "%%i"=="812" if not "%%i"=="1779" if not "%%i"=="1792" if not "%%i"=="1793" goto :skip
echo %%j>>force.txt
:skip
)
3 发表于 2008-09-26 13:25 ·  中国 陕西 西安 电信
新手上路
积分 15
发帖 9
注册 2008-08-15 16:18
17年会员
UID 123277
性别 男
状态 离线
学习一下
4 发表于 2008-09-26 13:31 ·  中国 广西 百色 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线
@echo off
rem 如果显示正常,请把"echo %%b"改为">>force.txt echo.%%b"
set "str=812 1779 1792 1793"
for %%i in (%str%) do (set "_%%i=ok")
for /f "tokens=1* delims=:" %%a in ('findstr /n .* "ut0001.txt"') do (
if defined _%%a echo.%%b
)
pause


[ Last edited by moniuming on 2008-9-26 at 01:57 PM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
pclxxxh +1 2008-09-26 22:25
论坛跳转: