Powershell 按相对路径以逗号分隔列出所有文件
Powershell list all files by relative path with comma separation
使用 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
您可以使用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';'
}
使用 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
您可以使用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';'
}