Powershell按逗号分隔的相对路径列出所有文件

时间:2015-10-06 10:58:20

标签: powershell powershell-v4.0

使用PowerShell我尝试使用逗号分隔相对路径的文件列表。

现在这是我的命令

Get-ChildItem -Recurse -Attributes !D | Group-Object -Property Directory | %{ Write-Host $_.Group }

我不知道如何输出相对路径&每个组都带有逗号的文件名。

想象一下,我们在这个文件夹中:

PS C:\Work\>

此文件夹包含以下文件夹和文件

Folder1\doc1.txt
Folder1\doc2.txt
Folder2\img1.jpg
Folder2\img2.jpg
Folder2\img3.jpg

我想有这个输出:

Folder1\doc1.txt;Folder1\doc2.txt
Folder2\img1.jpg;Folder2\img2.jpg;Folder2\img3.jpg

1 个答案:

答案 0 :(得分:2)

您可以使用Resolve-Path -Relative命令获取相对路径。要加入,您可以使用-join运算符:

Get-ChildItem -Recurse -File |
Group-Object -Property Directory |
ForEach-Object {
    @(
        $_.Group |
        Resolve-Path -Relative |   # make relative path
        ForEach-Object Substring 2 # cut '.\' part
    )-join';'
}