中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 14:18
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 使用批处理运行tree命令,要求可以选择磁盘 查看 868 回复 6
楼 主 使用批处理运行tree命令,要求可以选择磁盘 发表于 2010-03-27 10:22 ·  中国 天津 电信
新手上路
积分 9
发帖 9
注册 2010-03-26 15:03
16年会员
UID 163096
性别 男
状态 离线
RT。

比如:使用批处理运行tree命令,要列出某个磁盘所有文件及文件夹的目录树,要求运行时先询问选择哪个磁盘,然后再列出所选磁盘的目录树,可以实现吗?

现在有个1.bat文件,代码"tree F:>>list.txt /f",可以列出F盘的目录树,但如果我想再列出E盘目录树,得先改代码,再运行,能不能运行时先选择磁盘再列目录树(比如弹出对话框,选择磁盘,然后列目录)。
2 发表于 2010-03-27 14:12 ·  中国 广东 揭阳 电信
初级用户
★★
积分 131
发帖 72
注册 2008-02-24 14:31
18年会员
UID 111317
性别 男
状态 离线
set /p dr=请输入磁盘:
>>list.txt tree %dr%: /f

最简单的了。。。
3 发表于 2010-03-27 16:13 ·  中国 天津 电信
新手上路
积分 9
发帖 9
注册 2010-03-26 15:03
16年会员
UID 163096
性别 男
状态 离线
Originally posted by lovelymorning at 2010-3-27 14:12:
set /p dr=请输入磁盘:
>>list.txt tree %dr%: /f

最简单的了。。。

感谢楼上回复,很好用。

如果想在文件后面显示文件大小,可以实现么?

[ Last edited by ouyang0349 on 2010-3-27 at 16:16 ]
4 发表于 2010-03-27 16:42 ·  中国 天津 电信
新手上路
积分 9
发帖 9
注册 2010-03-26 15:03
16年会员
UID 163096
性别 男
状态 离线
有问题了,如果把这个bat文件放在F盘的一个子目录中,然后运行,输入F,列出的目录只有这个子目录,而不是整个F盘的目录树。。。
5 发表于 2010-03-27 18:01 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
set /p dr=请输入磁盘:
>>list.txt tree %dr%:\ /f
6 发表于 2010-03-27 18:04 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
Originally posted by ouyang0349 at 2010-3-27 16:13:


如果想在文件后面显示文件大小,可以实现么?

[ Last edited by ouyang0349 on 2010-3-27 at 16:16 ]


使用for 或dir。
实际操作中,for和tree都不能显示具有隐藏或系统属性的文件和目录,所以一般更多的是使用dir。

[ Last edited by Hanyeguxing on 2010-3-27 at 19:00 ]
7 发表于 2010-03-29 11:00 ·  中国 天津 电信
新手上路
积分 9
发帖 9
注册 2010-03-26 15:03
16年会员
UID 163096
性别 男
状态 离线
根据Hanyeguxing兄的代码改了一下,可以命名文件名:
@echo off
set /p dr=disk:
set /p n=name:
>>%n%.txt tree %dr%:\ /f

如果使用dir,是可以显示文件大小,但不是目录树结构,想保持目录树结构,同时又能在文件后面显示文件大小,可以实现么?
论坛跳转: