Powershell
如何在 PowerShell 中獲取文件的最近子目錄作為輸出?
我只需要從文件路徑中獲取最近的子目錄和文件名,如下所示。
前任:-
(1)E:\Dump\DumpText-1.txt - Dump\DumpText-1.txt (2)E:\Dump\SubDump1\DumpText-1.txt - SubDump1\DumpText-1.txt (3)E:\Dump\SubDump3\Sub_SubDump1\DumpText-1.txt -Sub_SubDump1\DumpText-1.txt
我的 PowerShell 腳本如下:
Get-ChildItem $directoryPath -Recurse | ForEach-Object -Process {if (!$_.PSIsContainer) {$_.FullName; $_.FullName -replace "^.*?\\"; " "}}
您可以使用對象的 Directory 屬性:
Get-ChildItem $directoryPath -Recurse -File | ForEach-Object { "$($_.FullName) - $($_.Directory.Name)\$($_.Name)" }
只需使用 Directory 對象的名稱,然後是文件的名稱。
在我看來,最簡單的方法是在反斜杠處拆分字元串:
$splitString = "E:\Dump\SubDump3\Sub_SubDump1\DumpText-1.txt" -split "\\"
(因為反斜杠是轉義字元,它必須用第二個反斜杠轉義)。
$splitString
now 是反斜杠之間所有部分的數組。$splitString[-1]
現在您可以通過(文件名)和$splitString[-2]
(直接父文件夾的名稱)訪問此數組的最後一部分和倒數第二部分。