Как получить список подпапок и их файлов, упорядоченных по именам папок
могу ли я использовать dir
командная строка для получения списка подпапок и их файлов, упорядоченных по именам папок, а не только имен файлов ?
используя
dir/s/b / o:gn > f.txt
Я сначала получаю все подпапки и только потом все подпапки, например:
d:root0root1folderA
d:root0root1folderB
d:root0root1file00.txt
d:root0root1file01.txt
d:root0root1folderAfileA00.txt
d:root0root1folderAfileA01.txt
d:root0root1folderBfileB00.txt
d:root0root1folderBfileB01.txt
но я хочу получить -
d:root0root1file00.txt
d:root0root1file01.txt
d:root0root1folderA
d:root0root1folderAfileA00.txt
d:root0root1folderAfileA01.txt
d:root0root1folderB
d:root0root1folderBfileB00.txt
d:root0root1folderBfileB01.txt
["file00.txt " и " file01.txt " также может быть в конце список]
спасибо,
Атара
6 ответов:
как насчет использования
sort
?dir /b /s | sort
вот пример, который я тестировал:
dir /s /b /o:gn
d:\root0 d:\root0\root1 d:\root0\root1\folderA d:\root0\root1\folderB d:\root0\root1\file00.txt d:\root0\root1\file01.txt d:\root0\root1\folderA\fileA00.txt d:\root0\root1\folderA\fileA01.txt d:\root0\root1\folderB\fileB00.txt d:\root0\root1\folderB\fileB01.txt
dir /s /b | sort
d:\root0 d:\root0\root1 d:\root0\root1\file00.txt d:\root0\root1\file01.txt d:\root0\root1\folderA d:\root0\root1\folderA\fileA00.txt d:\root0\root1\folderA\fileA01.txt d:\root0\root1\folderB d:\root0\root1\folderB\fileB00.txt d:\root0\root1\folderB\fileB01.txt
чтобы просто получить каталоги, используйте :
dir /a:d /s /b | sort
Hej человек, почему вы используете это ?
dir/s/b / o:gn > f.txt (неправильный)
разве вы не знаете, что такое " g " в "/o"??
проверьте это:http://www.computerhope.com/dirhlp.htm или реж./? для dir help
вы должны использовать это вместо:
dir/s/b / o: n > f.txt (правый)
поставить список всех файлов и папок в текстовый файл, как показано ниже:
например: dir /b | s / sort > ListOfFilesFolders.txt
создайте файл vbs и скопируйте весь приведенный ниже код. Измените расположение каталога в любом месте.
Dim fso Dim ObjOutFile Set fso = CreateObject("Scripting.FileSystemObject") Set ObjOutFile = fso.CreateTextFile("OutputFiles.csv") ObjOutFile.WriteLine("Type,File Name,File Path") GetFiles("YOUR LOCATION") ObjOutFile.Close WScript.Echo("Completed") Function GetFiles(FolderName) On Error Resume Next Dim ObjFolder Dim ObjSubFolders Dim ObjSubFolder Dim ObjFiles Dim ObjFile Set ObjFolder = fso.GetFolder(FolderName) Set ObjFiles = ObjFolder.Files For Each ObjFile In ObjFiles ObjOutFile.WriteLine("File," & ObjFile.Name & "," & ObjFile.Path) Next Set ObjSubFolders = ObjFolder.SubFolders For Each ObjFolder In ObjSubFolders ObjOutFile.WriteLine("Folder," & ObjFolder.Name & "," & ObjFolder.Path) GetFiles(ObjFolder.Path) Next End Function
сохраните код как vbs и запустите его. вы получите список в этом каталоге