web-dev-qa-db-ja.com

フォルダー名で並べられたサブフォルダーとそのファイルのリストを取得する方法

dirコマンドラインを使用して、ファイル名だけでなく、フォルダー名で並べられたサブフォルダーとそのファイルのリストを取得できますか?

を使用して

dir/s/b/o:gn> f.txt

最初にすべてのサブフォルダーを取得してから、すべてのサブファイルのみを取得します、例:

 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

しかし、私は取得したい-

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

[「file00.txt」と「file01.txt」もリストの最後に置くことができます]

おかげで、

アタラ

69
Atara

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

ディレクトリを取得するには、/A:Dパラメーターを使用します。

dir /a:d /s /b | sort
92
Cylindric

Hej man、なぜこれを使っているの?

dir/s/b/o:gn> f.txt(間違っている)

「/ o」の「g」が何であるかわかりませんか?

これを確認してください: http://www.computerhope.com/dirhlp.htm またはdir /? dirヘルプ

代わりにこれを使用する必要があります。

dir/s/b/o:n> f.txt(右のもの)

9
appsomobile

dir /b /a-d /s *.*は要件を満たします。

5
Tamal Ghosh

すべてのファイルとフォルダーのリストをテキストファイルに入れるコマンドは次のとおりです。

例:dir/b/s |ソート> ListOfFilesFolders.txt

3
Amar HR

コマンドプロンプトで、リストが必要なメインディレクトリに移動し、コマンドツリー/ fを入力します。

1
samamedh

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として保存して実行します。そのディレクトリにリストが表示されます

0
Teemo