中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 19:33
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 将a.txt的内容移到b.txt,要求在下面 查看 945 回复 11
楼 主 将a.txt的内容移到b.txt,要求在下面 发表于 2008-09-13 17:26 ·  中国 贵州 黔南布依族苗族自治州 电信
新手上路
积分 12
发帖 5
注册 2008-09-09 11:45
17年会员
UID 125201
性别 男
状态 离线
请各位赐教:
想把a.txt中的内容删除指定的某行之后再移到b.txt,
在a.txt中有空行,移过来时也要求有空行.

a.txt:

i'am chinse


i'love this game
aa=qweeeerttyy


safsdfasdfasdfsfdfsdf

想要b.txt的格式为:

i'am chinse


i'love this game


safsdfasdfasdfsfdfsdf

我的思路:
for /f "tokens=*" %%a in (a.txt) do @echo %%a|findstr /v /i /C:aa>> b.txt
但执后空行都没了。。。。。
2 发表于 2008-09-13 17:45 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
findstr /v "aa" a.txt>b.txt
3 这样就行了 发表于 2008-09-16 16:43 ·  中国 贵州 黔南布依族苗族自治州 都匀市 电信
新手上路
积分 12
发帖 5
注册 2008-09-09 11:45
17年会员
UID 125201
性别 男
状态 离线
哈哈
谢谢兄台
4 发表于 2008-09-16 16:49 ·  中国 贵州 黔南布依族苗族自治州 都匀市 电信
新手上路
积分 12
发帖 5
注册 2008-09-09 11:45
17年会员
UID 125201
性别 男
状态 离线
不好意思,再请教一下:
如果我想把作用反过来,就是由b.txt得到a.txt,执行后能在a.txt中加入aa=qweeeerttyy这一行,且a.txt的排版格式与b.txt的一样
5 发表于 2008-09-16 18:26 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
aa=qweeeerttyy插在什么地方?文本最后面?
6 发表于 2008-09-17 12:34 ·  中国 香港
新手上路
积分 11
发帖 4
注册 2008-09-17 10:36
17年会员
UID 125841
性别 男
状态 离线
借來一問
如果想打 第十一個位同第十二個位系XX 便將一行放進 B.txt

A.txt

0123456789XXasldfjslfjlasf
asldfjskldfjlsajflsjalfjslfjlasjlfdla
sdfjlsagjlsjglkjhlajsljlkjhlsjhlsjlhjlhl
dkgihirutjXXasldfjslfjlasf
sljdlgksldgjlajhsljhlsdkjhls
0123456DEFGXXasldfjslfjlasf

結果
B.txt

0123456789XXasldfjslfjlasf
dkgihirutjXXasldfjslfjlasf
0123456DEFGXXasldfjslfjlasf


謝謝!!!!!!!!!!!
7 Re 6楼 发表于 2008-09-17 13:29 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@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
)
)
8 发表于 2008-09-17 13:41 ·  中国 香港
新手上路
积分 11
发帖 4
注册 2008-09-17 10:36
17年会员
UID 125841
性别 男
状态 离线
好害利啊 謝謝!!!

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

"XX" or "xx" ?
9 Re 8楼 发表于 2008-09-17 16:06 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@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
)
)
10 发表于 2008-09-17 16:10 ·  中国 贵州 黔南布依族苗族自治州 都匀市 电信
新手上路
积分 12
发帖 5
注册 2008-09-09 11:45
17年会员
UID 125201
性别 男
状态 离线
如第一楼的两个文本,现在是从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
11 Re 10楼 发表于 2008-09-17 16:21 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@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
)
)
12 发表于 2008-09-17 16:26 ·  中国 贵州 黔南布依族苗族自治州 都匀市 电信
新手上路
积分 12
发帖 5
注册 2008-09-09 11:45
17年会员
UID 125201
性别 男
状态 离线
HAT
高手,太感谢你啦!
论坛跳转: