目前我正在使用,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中的子文件夹/文件。
答案 0 :(得分:0)
如果您只想列出需要告诉它的目录。
Dir -R | ? { $_.PSIsContainer }
或
Dir -R | ? { $_ -is [System.IO.DirectoryInfo] }
在最新的PowerShell版本中,您可以直接执行此操作。
Dir -Dir
Dir
= Get-ChildItem
-R
= - 收据
?
= Where-Object
-Dir
= -Directory
答案 1 :(得分:0)
如果您只想要指定目录中的目录,则不想递归。那将遍历整个目录层次结构;只需使用-Directory开关将输出过滤为仅包含目录。
然后,您可以从DirectoryInfo对象中提取Name属性。
PS C:\> dir C:\Windows -Directory |% { $_.Name }
addins
appcompat
apppatch
AppReadiness
[...]
并根据需要输出。更简洁:
(dir C:\Windows -Directory).Name