批处理,提取指定文件夹下文件目录列表和子文件夹目录列表,具体如下:

首先说一个dos命令: D:\>tree /f >任意.txt
这个命令可以在D盘创建一个文本,这个文本会列出D盘中所有文件夹和文件的目录列表
我现在需要一个批处理,可以很方便的在我指定的文件夹位置生成一个目录文本
执行方式:直接拖动这个文件夹到批处理上即可执行
输出:在这个文件夹所在的位置生成一个目录文本命名为:目录.txt
如上图,就是这种目录

仅列出子文件夹和子子文件夹,不包含父文件夹,或子子文件夹里面的子文件夹,对吗?还是说除了父文件夹里面的文件不列出外,其它无论多少级目录都列出?
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-28
@echo off
if "%~1"=="" goto :eof
pushd "%~dp1"
tree /f >目录.txt

追问

我要的不是这种,你的这个把磁盘所有的目录都列出来了。
我需要的是指定的文件夹下的目录列表,不是整个磁盘的

追答@echo off
if "%~1"=="" goto :eof
cd /d "%~1"||goto :eof
tree /f >目录.txt

追问

谢谢了。可以正常使用,,但是离我要求的还差一步,具体如下:

麻烦高手了!!

如果第二步那个显示名字难以达到要求,也可以用另一种方法代替:

把产生的文档名字改成动态的,比如上面的截图,产生的名字就是“skin目录.txt”

追答

哦,你最好确定好什么样的,开始你不说要:

输出:在这个文件夹所在的位置生成一个目录文本命名为:目录.txt?

@echo off 
if "%~1"=="" goto :eof 
cd /d "%~1"&&(cd /d "%~dp0"&tree /f "%~1">目录.txt)

本回答被提问者采纳
相似回答