0
我試圖從特定的目錄樹中獲取每個級別的文件夾的FullName的輸出。Powershell腳本獲取目錄樹的FullName
我想得到這樣的輸出:
C:\
C:\dir1
C:\dir1\dir2
C:\dir1\dir2\dir3
的事情是,該目錄必須是具體的...像C:\
和C:\dir1\dir2\dir3
之間的目錄部分就像一個路徑開始和結束路徑,任何想法?
我試圖從特定的目錄樹中獲取每個級別的文件夾的FullName的輸出。Powershell腳本獲取目錄樹的FullName
我想得到這樣的輸出:
C:\
C:\dir1
C:\dir1\dir2
C:\dir1\dir2\dir3
的事情是,該目錄必須是具體的...像C:\
和C:\dir1\dir2\dir3
之間的目錄部分就像一個路徑開始和結束路徑,任何想法?
試試這個:
$Path = 'C:\dir1\dir2\dir3'
$Folders = $Path -Split "\\"
$Folders | % { $i = 0 } { $Folders[0..$i] -Join "\" -Replace ":$", ":\"; $i++ }
結果:
C:\
C:\dir1
C:\dir1\dir2
C:\dir1\dir2\dir3
對於PowerShell的V3或更高版本:
Get-ChildItem C:\dir1 -Directory -Recurse |
Select-Object -ExpandProperty FullName
對於舊版本:
Get-ChildItem C:\Dir1 -Recurse |
Where-Object { $_.PSIsContainer } |
Select-Object -ExpandProperty FullName
你喜歡那樣,但是,我試圖讓路徑只有dir1和(可以說)dir10。但是有些導演是不相關的,所以只有列表中的路徑。我不知道如何只包括那些。 我嘗試了幾個事情與拆分路徑。我雖然做了一個循環,所以它重複分裂,直到它的路徑「C:\ Exaple」。但它沒有按預期工作:) –
'Get-ChildItem'有一個'-Exclude'參數來排除處理中的某些項目。我建議先閱讀文檔。 –