使用 cmd 或 .bat 脚本,有没有办法只列出文件名和文件夹名?我想运行批处理文件来生成包含此信息的文本文件。
假设我有以下文件夹:
C:\test\test.bat
C:\test\Doc1.exe
C:\test\Doc2.docx
C:\test\subdir1\Doc3.pdf
C:\test\subdir2\Doc4.txt
我很想得到这样的输出:
Doc1.exe
Doc2.docx
test.bat
subdir1
subdir2
迄今为止,这个答案是我能得到的最接近的结果。输出为:
Doc1 exe
DOC3~1 DOC
subdir1
subdir2
test bat
我已经尝试过目录:
dir /b /a-d >filelist.txt
但它没有得到我想要的。(即,它只列出文件名但没有列出文件夹名)。
谢谢你!
答案1
回答
从您的代码中排除它/a-d
,它应该正是您想要它做的事情。
此外,为了获得您指定的精确输出格式,请根据项目是否为文件夹对返回进行排序。
解释
/a
是指定一个属性
d
来指定查找目录,并且是-
否定的,所以d
意味着/a:-d
:其中属性不是目录并且该参数是从列表中删除目录。
简单dir /b
将返回所有文件夹和文件。
该参数/o
可让您组织返回。/o:g
将在列表中首先列出文件夹,并/o:-g
最后列出它们。
最后,如果你跑步,dir /b /o:-g > filelist.txt
你的回报将是
Doc1.exe
Doc2.docx
test.bat
subdir1
subdir2