中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 将a.txt的内容移到b.txt,要求在下面
作者:
标题: 将a.txt的内容移到b.txt,要求在下面 上一主题 | 下一主题
wgsonline
新手上路





积分 12
发帖 5
注册 2008-9-9
状态 离线
『楼 主』:  将a.txt的内容移到b.txt,要求在下面

请各位赐教:
想把a.txt中的内容删除指定的某行之后再移到b.txt,
在a.txt中有空行,移过来时也要求有空行.

a.txt:
[good]
i'am chinse

[well]
i'love this game
aa=qweeeerttyy

[other]
safsdfasdfasdfsfdfsdf

想要b.txt的格式为:
[good]
i'am chinse

[well]
i'love this game

[other]
safsdfasdfasdfsfdfsdf

我的思路:
for /f "tokens=*" %%a in (a.txt) do @echo %%a|findstr /v /i /C:aa>> b.txt
但执后空行都没了。。。。。

2008-9-13 17:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  


@echo off
findstr /v "aa" a.txt>b.txt




2008-9-13 17:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wgsonline
新手上路





积分 12
发帖 5
注册 2008-9-9
状态 离线
『第 3 楼』:  这样就行了

哈哈
谢谢兄台

2008-9-16 16:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wgsonline
新手上路





积分 12
发帖 5
注册 2008-9-9
状态 离线
『第 4 楼』:  

不好意思,再请教一下:
如果我想把作用反过来,就是由b.txt得到a.txt,执行后能在a.txt中加入aa=qweeeerttyy这一行,且a.txt的排版格式与b.txt的一样

2008-9-16 16:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  

aa=qweeeerttyy插在什么地方?文本最后面?



2008-9-16 18:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
forssell
新手上路





积分 11
发帖 4
注册 2008-9-17
状态 离线
『第 6 楼』:  

借來一問
如果想打 第十一個位同第十二個位系XX 便將一行放進 B.txt

A.txt

0123456789XXasldfjslfjlasf
asldfjskldfjlsajflsjalfjslfjlasjlfdla
sdfjlsagjlsjglkjhlajsljlkjhlsjhlsjlhjlhl
dkgihirutjXXasldfjslfjlasf
sljdlgksldgjlajhsljhlsdkjhls
0123456DEFGXXasldfjslfjlasf

結果
B.txt

0123456789XXasldfjslfjlasf
dkgihirutjXXasldfjslfjlasf
0123456DEFGXXasldfjslfjlasf


謝謝!!!!!!!!!!!

2008-9-17 12:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 7 楼』:  Re 6楼


@echo off
setlocal enabledelayedexpansion
>"b.txt" type nul
for /f "usebackq tokens=*" %%a in ("a.txt") do (
  set row=%%a
  if "!row:~10,2!" equ "XX" (
    >>"b.txt" echo %%a
  )
)




2008-9-17 13:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
forssell
新手上路





积分 11
发帖 4
注册 2008-9-17
状态 离线
『第 8 楼』:  

好害利啊  謝謝!!!

如果同時大細字母都認到呢?

"XX" or "xx" ?

2008-9-17 13:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 9 楼』:  Re 8楼


@echo off
setlocal enabledelayedexpansion
>"b.txt" type nul
for /f "usebackq tokens=*" %%a in ("a.txt") do (
  set row=%%a
  if /i "!row:~10,2!" equ "XX" (
    >>"b.txt" echo %%a
  )
)




2008-9-17 16:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wgsonline
新手上路





积分 12
发帖 5
注册 2008-9-9
状态 离线
『第 10 楼』:  

如第一楼的两个文本,现在是从b.txt得到a.txt,即在b.txt加入一行aa=qweeeerttyy,得到a.txt
这一行只是在加在中间,随便哪里都行
b.txt的格式为:
[good]
i'am chinse

[well]
i'love this game

[other]
safsdfasdfasdfsfdfsdf



a.txt:
[good]
i'am chinse

[well]
i'love this game
aa=qweeeerttyy

[other]
safsdfasdfasdfsfdfsdf

2008-9-17 16:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 11 楼』:  Re 10楼


@echo off
setlocal enabledelayedexpansion
set count=0
>a.txt type nul
for /f "tokens=1-2 delims=:" %%a in ('findstr /n .* b.txt') do (
  set /a count+=1
  if !count! equ 5 (
    >>a.txt echo.aa=qweeeerttyy
  )
  if "%%b" equ "" (
    >>a.txt echo.
  ) else (
    >>a.txt echo.%%b
  )
)




2008-9-17 16:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wgsonline
新手上路





积分 12
发帖 5
注册 2008-9-9
状态 离线
『第 12 楼』:  

HAT
高手,太感谢你啦!

2008-9-17 16:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: