标题: 求助:关于FOR命令的疑问
[打印本页]
作者: muddle
时间: 2007-11-23 09:27
标题: 求助:关于FOR命令的疑问
有一文本文件内容为:(是DIR导出的)
驱动器 F 中的卷是 OFFICE11
卷的序列号是 F386-784C
F:\ 的目录
2003/08/15 21:31 <DIR> FILES
2003/08/15 21:30 <DIR> MSDE2000
2003/08/15 17:59 556,544 OWC10.MSI
2003/08/15 18:02 601,088 OWC11.MSI
2003/08/15 21:56 6,009,344 PRO11.MSI
2003/07/31 17:52 6,533 README.HTM
2003/07/15 14:01 418,872 SETUP.EXE
2003/07/10 17:44 19,013 SETUP.HTM
2004/09/20 08:56 29 SN.TXT
7 个文件 7,611,423 字节
2 个目录 0 可用字节
想用FOR命令把这个文件的前4行和后2行过滤掉(这几行的相同点是以空格开头的),把中间文件和目录的全部内容复制为另一个文本文件。
我用了
for /f "eol= tokens=*" %%i in (1.txt) do @(for %%i IN (%%i) DO @echo %%i >>2.txt)
只能一段一段的导出
2.txt内容成了:
驱动器
F
中的卷是
OFFICE11
卷的序列号是
F386-784C
F:\
的目录
2003/08/15
21:31
<DIR>
FILES
2003/08/15
21:30
<DIR>
MSDE2000
2003/08/15
17:59
556
544
OWC10.MSI
2003/08/15
18:02
601
088
OWC11.MSI
2003/08/15
21:56
6
009
344
PRO11.MSI
2003/07/31
17:52
6
533
README.HTM
2003/07/15
14:01
418
872
SETUP.EXE
2003/07/10
17:44
19
013
SETUP.HTM
2004/09/20
08:56
29
SN.TXT
7
个文件
7
611
423
字节
2
个目录
0
可用字节
也没有过滤掉以空格开头的行,也没有整行导出。
请教高手
[
Last edited by muddle on 2007-11-23 at 09:29 AM ]
作者: lxmxn
时间: 2007-11-23 11:59
貌似不能用eol来过滤以空格开头的行,试试dir | findstr "^[0-9]"。
作者: upsco
时间: 2007-11-23 12:20
哦,我搞错了
[
Last edited by upsco on 2007-11-23 at 12:22 PM ]
作者: upsco
时间: 2007-11-23 12:26
前4行好搞后 more +4<1.txt,后2行不知大家有没有什么好方法
作者: muddle
时间: 2007-11-23 13:17
Quote: |
Originally posted by lxmxn at 2007-11-23 11:59 AM:
貌似不能用eol来过滤以空格开头的行,试试dir | findstr "^[0-9]"。 |
|
用这个解决了dir | findstr "^[0-9]"。
作者: upsco
时间: 2007-11-23 18:36
刚在看旧贴的时候发现FOR的一个另类用法:
for /f
"delims= eol= " %% i in (1.txt) echo %%i
颠倒eol delims的位置后,eol= 能忽略空格开头的行