中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-29 00:14
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 我想删除txt中以p,c,-开头的行... 查看 2,361 回复 17
楼 主 我想删除txt中以p,c,-开头的行... 发表于 2007-02-10 21:49 ·  中国 辽宁 大连 联通
初级用户
积分 86
发帖 31
注册 2007-01-09 13:30
19年会员
UID 75960
性别 男
状态 离线
txt中含有如下行 我想删除他们
以p,c,-开头的行都不要.
;)


-------------------------------------------------------------------------------
Performing Time: 2/8/2007 10:29:46
Complete In 0 Hours 0 Minutes 15 Seconds.
-------------------------------------------------------

用eol好像有点麻烦
应该还有其他方法

[ Last edited by FBOAR on 2007-2-10 at 08:50 AM ]
2 发表于 2007-02-10 22:08 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
@echo off

for /f "eol=- delims=" %%i in ('findstr /i /v "p c" test.txt') do @echo %%i

pause
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
3 发表于 2007-02-10 22:10 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
或者干脆不用eol

@echo off

for /f "delims=" %%i in ('findstr /i /v "p c -" test.txt') do @echo %%i

pause
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
FBOAR +2 2007-02-10 22:43
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
4 发表于 2007-02-10 22:43 ·  中国 辽宁 大连 联通
初级用户
积分 86
发帖 31
注册 2007-01-09 13:30
19年会员
UID 75960
性别 男
状态 离线
我这样怎么不行呢

@echo off
cd.>xxxx.txt
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('findstr /i /v "p c -" test.txt') do @echo %%i
set var=%%i
echo !var!>>xxxx.txt
5 发表于 2007-02-10 22:51 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
不明白你为什么要启用变量延迟?

@echo off
cd.>xxxx.txt
for /f "delims=" %%i in ('findstr /i /v "p c -" test.txt') do echo %%i>>xxxx.txt



如果一定用变量延迟,代码如下:
@echo off
cd.>xxxx.txt
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('findstr /i /v "p c -" test.txt') do (
set var=%%i
echo !var!>>xxxx.txt
)
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
FBOAR +2 2007-02-10 23:11
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
6 发表于 2007-02-10 22:54 ·  中国 北京 联通
银牌会员
★★★
努力做坏人
积分 1,185
发帖 438
注册 2006-08-28 12:00
19年会员
UID 61449
来自 北京
状态 离线

@echo off&setlocal
for /f "delims=" %%i in ('findstr /r /i /v "^p ^c ^-" 1.txt') do echo %%i
pause
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
ccwan +11 2007-02-10 23:19
FBOAR +2 2007-02-10 23:28
我今后在论坛的目标就是做个超级坏人!!!
7 发表于 2007-02-10 23:04 ·  中国 吉林 四平 联通
高级用户
★★★
积分 859
发帖 413
注册 2006-08-14 21:55
19年会员
UID 60532
状态 离线
延迟变量到底什么时候能用得上??
8 发表于 2007-02-10 23:10 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
9 发表于 2007-02-10 23:12 ·  中国 辽宁 大连 联通
初级用户
积分 86
发帖 31
注册 2007-01-09 13:30
19年会员
UID 75960
性别 男
状态 离线
ccwan 测试了吗
我这还没成功
xxxx.txt空白
:(

[ Last edited by FBOAR on 2007-2-10 at 10:18 AM ]
10 发表于 2007-02-10 23:15 ·  中国 北京 联通
银牌会员
★★★
努力做坏人
积分 1,185
发帖 438
注册 2006-08-28 12:00
19年会员
UID 61449
来自 北京
状态 离线
唉,我是不清楚楼主是过滤包含 p c - 字符的行啊?还是开头的行? 窗前明月光....
我今后在论坛的目标就是做个超级坏人!!!
11 发表于 2007-02-10 23:17 ·  中国 辽宁 大连 联通
初级用户
积分 86
发帖 31
注册 2007-01-09 13:30
19年会员
UID 75960
性别 男
状态 离线
兄弟 是以p c -开头的
12 发表于 2007-02-10 23:20 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
是我误会了,只有9527兄的代码是正确的,呵呵,不过我是又学东西又灌了水,不吃亏。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
13 发表于 2007-02-10 23:24 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
这次的代码一定对了。
@echo off

for /f "delims=" %%i in ('findstr /b /i /v "p c -" test.txt') do @echo %%i

pause
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
14 发表于 2007-02-10 23:28 ·  中国 辽宁 大连 联通
初级用户
积分 86
发帖 31
注册 2007-01-09 13:30
19年会员
UID 75960
性别 男
状态 离线
搞定 用了9527的 哈哈
15 发表于 2007-02-11 01:39 ·  中国 甘肃 兰州 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
直接修改源文件还是用ssed好点
论坛跳转: