2016-11-09 3 views

答えて

2
recurse $dir.FullName 

[IO.DirectoryInfo]を生成することを下記の構造

X:\ 
--1stLevelDir 
----2ndLevelDir 
--Another1stLevelDir 

function recurse{ 
    param([System.IO.FileSystemInfo] $folder) 
    foreach ($dir in GCI $folder -Directory) { 
     Write-Output $dir.FullName 
     recurse $dir 
    } 
} 

recurse (get-item 'X:\') 

を有しますオブジェクトは短い名前に展開され、短い名前は次のように扱われます。相対パス - あなたがしているフォルダ内を探した

編集:または

function recurse{ 
    param([System.IO.FileSystemInfo] $folder) 
    foreach ($dir in GCI $folder.FullName -Directory) { 
     Write-Output $dir.FullName 
     recurse $dir 
    } 
} 

recurse (get-item 'X:\') 
+0

パーフェクトありがとう、これは私のFileSystemInfoタイプを失ったが、私はそれなしで動作することができます。好奇心のために、get-item呼び出しを行わずにそのタイプを維持する便利な方法がありますか? – Preston

+0

@Prestonはい、再帰呼び出しの代わりに 'gci'呼び出しに' .FullName'を入れてください。 – TessellatingHeckler

関連する問題