簡體   English   中英

如何使用Powershell獲取文件夾中所有文件夾名稱而不是子文件夾中文件/子文件夾的.txt文件?

[英]How to get a .txt file of all folders names inside a folder but not the files/subfolders inside the child folders using powershell?

當前正在使用SHIFT +右鍵單擊>在此處打開powershell窗口>然后粘貼

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

唯一的問題是我選擇了SHIFT +右鍵單擊目錄,但是我也獲得了第二個文件夾內所有文件/文件夾的名稱,這確實破壞了我要尋找的組織。

因此,例如,我有一個名為“ RootFolder”的文件夾。 RootFolder內還有另外10個文件夾,分別稱為“ Folder1”至“ Folder10”。 我只希望名稱Folder1-Folder10在shell命令創建的.txt文件夾中。 我不希望.txt文件中的Folder1-10文件夾內的子文件夾/文件。

如果只想列出目錄,則需要告訴它。

Dir -R | ? { $_.PSIsContainer }

要么

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

在最新的PowerShell版本中,您可以直接進行操作。

Dir -Dir

Dir = Get-ChildItem
-R =-遞歸
? =對象
-Dir =-目錄

如果只需要命名目錄中的目錄,則不需要遞歸。 這將遍歷整個目錄層次結構; 只需使用-Directory開關來過濾輸出,使其僅包含目錄。

然后,您可以從DirectoryInfo對象中提取Name屬性。

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

並根據需要輸出。 更簡而言之:

(dir C:\Windows -Directory).Name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM