不会的,zw兄看这个是不是快点:
[ Last edited by WANKOILZ on 2008-5-29 at 09:17 PM ]
@echo off
findstr "^abcd" 1.txt
pause[ Last edited by WANKOILZ on 2008-5-29 at 09:17 PM ]
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off
findstr "^abcd" 1.txt
pauseOriginally posted by WANKOILZ at 2008-5-29 21:13:
不会的,zw兄看这个是不是快点:
@echo off
findstr "^abcd" 1.txt
pause
[ Last edited by WANKOILZ on 2008-5-29 at 09:17 PM ]
@echo off&md abcd
set "f=\<<title>.*</title>\>"
for /f "tokens=1,4 delims=:<>" %%a in ('findstr "%f%" *.txt') do set ".%%~na=%%b"
setlocal enabledelayedexpansion
for /f "tokens=1* delims=:" %%a in ('findstr /v "" *.txt') do (
if not defined %%~na set %%~na=aaa&>>"abcd\%%a" echo !.%%~na!
>>"abcd\%%a" echo.%%b
)
start abcd
| 评分人 | 分数 | 时间 |
|---|---|---|
| WANKOILZ | +2 | 2008-05-29 22:00 |
Originally posted by 26933062 at 2008-5-29 21:23:
findstr的效率并不是zw兄所想的那么不堪。(关键看怎么用)
findstr的功能却可能超出你的想像。
按3楼 WANKOILZ 兄的思路也写了个,同时也给3楼代码提 ...
Originally posted by zw19750516 at 2008-5-29 20:52:
楼上的测试代码有误,我认为要比较就要进行逐行判断,请测试以下代码(找出1.txt中所有以abcd开头的行并赋值为A):
@echo off
if exist 1.txt del /q ...
Originally posted by WANKOILZ at 2008-5-29 21:45:
26933062的代码确实很精简,令人佩服。
把文本名字作为变量,在findstr /v "" *.txt的时候就能同时获得文本的标题和不包含<>的内容。 ...
哦?
有必要么?
或者说有何区别?给个实例好么、?
Originally posted by zw19750516 at 2008-5-29 08:00 PM:
不知楼主测试了我发的两段代码没有,是不是不行,还是怎么的,怎么就没回馈的了(我自己建了10个文件是测试全部成功的)
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /a-d /b *.txt') do (
for /f "delims=" %%i in ('type %%a') do (
set str=%%i
if "!str:~6,7!"=="<title>" echo !str:~13,-15!>%%a
if "!str:~-4!"=="pre>" set /a n+=1
if !n! equ 1 if not "!str:~-4!"=="pre>" echo !str!>>%%a
)
set n=0
)
echo 全部搞定!
pause>nul