Board logo

标题: 使用批处理运行tree命令,要求可以选择磁盘 [打印本页]

作者: ouyang0349     时间: 2010-3-27 10:22    标题: 使用批处理运行tree命令,要求可以选择磁盘
RT。

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

现在有个1.bat文件,代码"tree F:>>list.txt /f",可以列出F盘的目录树,但如果我想再列出E盘目录树,得先改代码,再运行,能不能运行时先选择磁盘再列目录树(比如弹出对话框,选择磁盘,然后列目录)。

作者: lovelymorning     时间: 2010-3-27 14:12
set /p dr=请输入磁盘:
>>list.txt tree %dr%: /f

最简单的了。。。

作者: ouyang0349     时间: 2010-3-27 16:13
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 ]

作者: ouyang0349     时间: 2010-3-27 16:42
有问题了,如果把这个bat文件放在F盘的一个子目录中,然后运行,输入F,列出的目录只有这个子目录,而不是整个F盘的目录树。。。

作者: Hanyeguxing     时间: 2010-3-27 18:01
set /p dr=请输入磁盘:
>>list.txt tree %dr%:\ /f

作者: Hanyeguxing     时间: 2010-3-27 18:04
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 ]

作者: ouyang0349     时间: 2010-3-29 11:00
根据Hanyeguxing兄的代码改了一下,可以命名文件名:
@echo off
set /p dr=disk:
set /p n=name:
>>%n%.txt tree %dr%:\ /f

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