2016-09-09 3 views
1

フォルダ内のフォルダの名前を取得し、配列を入力しようとしています。フォルダのリストが1より大きい場合はうまく動作しているように見えますが、1の場合はフォルダの各文字で配列が埋められています。 $rootfolderパスが複数のサブフォルダを持つ場合

$arr = Get-ChildItem $rootfolder | 
    Where-Object {$_.PSIsContainer} | 
    Foreach-Object {$_.Name} 

だから、$arrは各1名で満たされています。

$rootfolderに1つのサブフォルダがある場合は、$arrにそのサブフォルダ名の各文字が入力されます。部分的に@ PetSerAlさんのコメントに基づいて

$arr = Get-ChildItem $p4root | Where-Object {$_.PSIsContainer} | Foreach-Object {$_.Name} 

、解決策は、同様の取得するが、機能、出力は次のようになります::上記のコメントに基づいて

+0

問題を再版できません。それは完全なコードですか?また、最後の行を 'Select-Object Name'として書くことができます – Poorkenny

+0

どのPS版を使っていますか? –

+0

私はバージョン5を実行していますが、可能であれば後方互換性があるようにしたいと考えています – feltz

答えて

0

、問題を引き起こして実際のコードは、このでした

$arr = @(Get-ChildItem $p4root | Where-Object {$_.PSIsContainer} | Select-object -expandproperty name) 
+0

ありがとう、これは私の問題を修正! – feltz

関連する問題