中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-04 03:25
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何用批处理显示带过滤条件的Tree命令? 查看 919 回复 6
楼 主 如何用批处理显示带过滤条件的Tree命令? 发表于 2007-04-13 23:50 ·  中国 广东 广州 番禺区 电信
新手上路
积分 16
发帖 7
注册 2007-04-12 22:10
19年会员
UID 84909
性别 男
状态 离线
如:我只想显示Excel文件的Tree图,而不是全部文件

E:.
│ a001.xls
│ a002.xls
├─AA
│  a1.xls
│  a2.xls
├─BB─
│  │
│  ├─DD
│  │ d1.xls
│  └─EE
│ f1.xls
│     f2.xls
└─CC
q1.xls
q2.xls
2 发表于 2007-04-14 01:18 ·  IANA 局域网IP(Private-Use)
初级用户
★★
积分 186
发帖 92
注册 2007-03-27 08:20
19年会员
UID 83047
性别 男
状态 离线
给你个dir的方法吧

dir /b /a-d /s *.xls
3 发表于 2007-04-14 05:50 ·  中国 广东 广州 番禺区 电信
新手上路
积分 16
发帖 7
注册 2007-04-12 22:10
19年会员
UID 84909
性别 男
状态 离线
to lp1129

Originally posted by lp1129 at 2007-4-13 12:18 PM:
给你个dir的方法吧

dir /b /a-d /s *.xls


我需要的是tree的效果,又不想要无用的信息。
4 发表于 2007-04-16 05:24 ·  中国 广东 广州 白云区 电信
新手上路
积分 16
发帖 7
注册 2007-04-12 22:10
19年会员
UID 84909
性别 男
状态 离线
没人看,先顶一下
5 发表于 2007-04-16 06:17 ·  中国 广东 广州 白云区 电信
新手上路
积分 16
发帖 7
注册 2007-04-12 22:10
19年会员
UID 84909
性别 男
状态 离线
相到用sed来处理tree后的结果文档

可sed /.xls/d tree结果文件是删除含.xls的行,删除不含有".xls"行的用法不懂,并且多条件不知行不行,如:删除不含“.xls"或不含"├”或不含“└”,还望高手来看看
6 发表于 2007-04-16 07:34 ·  中国 广东 广州 白云区 电信
新手上路
积分 16
发帖 7
注册 2007-04-12 22:10
19年会员
UID 84909
性别 男
状态 离线
知道 sed /.xls/!d tree.txt 是删除不匹配".xls"的所有行, 多匹配怎处理还不知
7 发表于 2007-04-16 22:24 ·  中国 广东 广州 番禺区 电信
新手上路
积分 16
发帖 7
注册 2007-04-12 22:10
19年会员
UID 84909
性别 男
状态 离线
我的方法,可效率低下

@echo off
for /L %%a in (1,1,15000) do (
echo %%a
sed %%a!d tree.txt>tmp.txt
for /F %%i in (Linetype.txt) do (
sed /%%i/!d tmp.txt>>Result.txt
)
)

Result是结果。15000是tree.txt里的行数,不知查询文件行数的方法

Linetype.txt设置要保留的字串,想把字串放For语句里,不知怎弄,字串如下:

卷序列号为
:
.xls

论坛跳转: