本人想在cmd下获取某文件夹下所有子文件夹名(注意:文件名不要),请问应该怎么做?急求,谢谢!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了本人想在cmd下获取某文件夹下所有子文件夹名(注意:文件名不要),请问应该怎么做?急求,谢谢!!相关的知识,希望对你有一定的参考价值。
dir /ad /b在cmd下输入上述命令,/ad表示只输出文件夹追问
不行,这样只能获得一级子目录,我要获取所有子目录(或者说,怎么获取固定等级的子目录)
追答dir /ad /b /s
加个/s参数,可以获取所有子目录,如果还有其它需求请说清楚,我以前写过一个批处理,我把它找出来改动一下应该就可以了
tree会包含文件,而且我要的是带路径的文件夹名
使用Dir,遍历文件夹下所有子文件夹及文件
‘------------------------------------------- ‘获取某文件夹下所有文件和子目录下的文件 ‘------------------------------------------- Sub getAllFile() Cells.ClearContents Call getFileNm(ChooseFolder(), 0, 0) MsgBox "处理完成!" End Sub ‘------------------------------------------- ‘获取目标文夹路径 ‘------------------------------------------- Public Function ChooseFolder() As String Dim dlgOpen As FileDialog Set dlgOpen = Application.FileDialog(msoFileDialogFolderPicker) With dlgOpen If .Show = -1 Then ChooseFolder = .SelectedItems(1) End If End With Set dlgOpen = Nothing End Function ‘------------------------------------------- ‘获取文件夹下所有文件和文件夹名称
‘row worksheet里的打印行
‘col worksheet里的打印列(根据层次显示) ‘------------------------------------------- Public Sub getFileNm(ByVal subFolderPath As String, _ ByRef row As Integer, _ ByVal col As Integer) Dim fileName As String Dim subFolderVisited As String col = col + 1 subFolderPath = subFolderPath & "\" fileName = Dir(subFolderPath, vbDirectory) Do While fileName <> "" If fileName <> "." And fileName <> ".." Then If (GetAttr(subFolderPath & fileName)) = vbDirectory Then ‘文件夹的场合 row = row + 1 Worksheets(1).Cells(row, col) = fileName Call getFileNm(subFolderPath & fileName, row, col) Else ‘文件的场合 row = row + 1 Worksheets(1).Cells(row, col) = fileName End If End If ‘获取执行递归前的下一个文件 subFolderVisited = Dir(subFolderPath, vbDirectory) Do While subFolderVisited <> fileName subFolderVisited = Dir Loop fileName = Dir Loop End Sub
以上是关于本人想在cmd下获取某文件夹下所有子文件夹名(注意:文件名不要),请问应该怎么做?急求,谢谢!!的主要内容,如果未能解决你的问题,请参考以下文章