2017-05-02 5 views
2

私はスクリプト内で次の行を使用して、$folderの場所にあるすべてのフォルダのすべてのパスを返します。PowerShellパイプ後分割

dir -recurse $folder|?{$_.PSIsContainer}|select -ExpandProperty FullName 

これは機能します。しかし、私は各パスの4番目の要素が必要です。

私は様々な場所で[3]|{$_.Split("\")}[3]}を追加しようとしましたが、私は、私はさまざまなセクションの周りに括弧を入れて試してみたExpressions are only allowed as the first element of a pipeline.

こと、splitコマンドでエラーを取得し、括弧の中に式全体を入れていますスプリットに分割しますが、スプリットをパイプの任意の部分に付ける方法が見つからないようです...別の方法がありますか?

答えて

2

あなたはほぼそこにいます。コードをForeach-Objectコマンドレット内に配置する必要があります。

Get-ChildItem -recurse $folder| 
    Where-Object {$_.PSIsContainer}| 
    Select-Object -ExpandProperty FullName | 
    ForEach-Object {    
     $_.Split("\")[3]   
    } 
+0

驚くばかり!ありがとうございました。 – ToshiBoy

関連する問題