2016-05-18 7 views
1

ファイルは、Get-ChildItemコマンドレット-Pathは、私がこれを持っている場合は

Directory: C:\WS\BACKUP\xxxx-Reg 


Mode    LastWriteTime  Length Name                  
----    -------------  ------ ----                  
-a---  2016-05-17  11:04  494018 xxxxxx_REGISTRY_EVENTLOG__2016-05-17__11_04_38.reg      
-a---  2016-05-17  11:08  494018 xxxxxx_REGISTRY_EVENTLOG__2016-05-17__11_08_59.reg      
-a---  2016-05-17  11:10  494018 xxxxx_REGISTRY_EVENTLOG__2016-05-17__11_10_31.reg      

私はNLogのためにこれをやってみたいです代わりに私は上のように素敵なリストを得る方法を知らない。

私はこれを行う場合は、次の

$regtxt=Get-ChildItem -Path $BACKUP_REG_PATH 
$LOGGER.Trace("$regtxt"); 

私は唯一の名前欄と同じ行に長いリストを取得します。

これを解決する方法はありますか?

答えて

1

NLogはわかりませんが、Traceメソッドはおそらく1行でトレースを出力します。あなたはForeach-Objectコマンドレットを使用して、各項目を反復処理し、トレース書くことができます:

Get-ChildItem -Path $BACKUP_REG_PATH | Foreach-Object { 
    $LOGGER.Trace($_); 
} 

注:これは出力しない名前欄、これを自分自身で追跡する必要があります。

これを解決するには、出力をOut-Stringコマンドレットにパイプします。このコマンドレットは単一の文字列を出力します。文字列を[System.Environment]::NewLineで分割して、繰り返し処理する配列を取得する必要があります。

((Get-ChildItem | select -first 4 | Out-String) -split [System.Environment]::NewLine) | 
    ForEach-Object { 
     $LOGGER.Trace($_); 
    } 
関連する問題