2017-10-21 3 views
1

現在、私が唯一の問題は、私は右クリック+シフトするディレクトリを選択し、私は、すべてのファイル名を取得され、その後powershellを使用して、フォルダ内のすべてのフォルダ名の.txtファイルを取得しますが、子フォルダ内のファイル/サブフォルダは取得できません。

dir -recurse | select -ExpandProperty Name | foreach {$_.split('.',2)[0]} | out-file file.txt 

に貼り付ける>ここで、SHIFT +右クリック>開くPowerShellウィンドウを使用しています/フォルダも2番目のフォルダ内にあります。

たとえば、私は "RootFolder"と呼ばれるフォルダを持っています。 RootFolderの内部には、「Folder1」から「Folder10」までの10個のフォルダがあります。 私は、シェルコマンドが作成する.txtフォルダーの中に、Folder1 - Folder10という名前だけが必要です。私はサブフォルダ/ファイルを.txtファイルのフォルダFolder1-10に入れたくありません。

答えて

0

ディレクトリの一覧を表示する場合は、そのディレクトリを指定する必要があります。あなたが直接それを行うことができ、より最近のPowerShellのバージョンでは

Dir -R | ? { $_.PSIsContainer } 

または

Dir -R | ? { $_ -is [System.IO.DirectoryInfo] } 

Dir -Dir 

Dir =は、Get-ChildItemコマンドレット
-R = -Recurse
? =どこ-オブジェクト
-Dir = -Directory

0

だけという名前のディレクトリ内のディレクトリをしたい場合、あなたはしたくありません再発する。ディレクトリ階層全体を移動します。 -Directoryスイッチを使用して、ディレクトリのみを含むように出力をフィルタリングしてください。

次に、DirectoryInfoオブジェクトからNameプロパティを抽出できます。

PS C:\> dir C:\Windows -Directory |% { $_.Name } 
addins 
appcompat 
apppatch 
AppReadiness 
[...] 

となります。さらに簡潔に:

(dir C:\Windows -Directory).Name 
関連する問題