如何使用PowerShell或任何Windows脚本获取文件夹名称?

时间:2013-10-17 19:58:29

标签: powershell filesystems

说我有以下文件结构

L:\Enterprise\Legal\Planning\Contacts\A-D\

在A-D下,我有50个以公司名称命名的文件夹。所以它看起来像这样

L:\Enterprise\Legal\Planning\Contacts\A-D\3-M Company\subfolder\sub-subfolder\files.txt
L:\Enterprise\Legal\Planning\Contacts\A-D\ABC Company\subfolder\sub-subfolder\files.txt
L:\Enterprise\Legal\Planning\Contacts\A-D\XYZ Company\subfolder\sub-subfolder\files.txt
L:\Enterprise\Legal\Planning\Contacts\A-D\AAA Company\subfolder\sub-subfolder\files.txt

有没有办法使用PowerShell或某些Windows脚本从上面的文件结构中获取公司名称?

2 个答案:

答案 0 :(得分:1)

如果您的目标是以一种方式获得公司名称列表:

cd L:\Enterprise\Legal\Planning\Contacts\A-D\

dir | select -expand fullname | % { ($_ -split '\\')[6] }

有些人也可能会发现这可行

dir | select -expand fullname | % { ($_ -split '\\')[7] }

答案 1 :(得分:0)

如果要从CSV导入文件/文件夹列表,则可以执行以下操作:

$strings = Import-CSV -Path "C:\PathToCSV.csv"
foreach ($string in $strings) {
    $string -replace 'L:\\Enterprise\\Legal\\Planning\\Contacts\\A-D\\' -replace '\\subfolder\\sub-subfolder\\files.txt'
}

请注意双斜线(\\)。你必须逃避斜线,否则他们被视为特殊。输出应如下所示:

3-M Company
ABC Company
XYZ Company
AAA Company