0

以下は私のコードの例です:


$logpath = @(gci -path "c:\logs")
foreach ($i in $logpath)    
        {
        [array]$n += ($i.tostring()).trimend(".log")
    [array]$t += ($i.tostring()).lastwritetime
    }
$obj = new-object psobject
$obj | Add-Member -MemberType NoteProperty -Name Logname -Value $n
$obj | Add-Member -MemberType NoteProperty -Name LastWriteTime -Value $t
$i | export-csv c:\temp\logs.csv

出力は次のようになります。

Name,LastWriteTime  
----,-------------
Value1...,Value1

以下は、私がそれをどのように見せたいかです:

Name,LastWriteTime  
Value1,Value1
Value2,Value2
4

3 に答える 3

1

コードを使用するだけで、これを試すことができます:

$logpath = @(gci -path "c:\logs")
$objects = @() # Empty array
foreach ($i in $logpath)    
{
  $n = ($i.tostring()).trimend(".log")
  $t = ($i.tostring()).lastwritetime

  $obj = new-object psobject
  $obj | Add-Member -MemberType NoteProperty -Name Logname -Value $n
  $obj | Add-Member -MemberType NoteProperty -Name LastWriteTime -Value $t
  $objects += $obj
}

$objects | export-csv c:\temp\logs.csv

ループ内でオブジェクトの配列を使用するだけです。

于 2013-10-22T04:45:26.313 に答える
1

ファイル拡張子を削除する代わりに使用できる basename プロパティがあります。

gci -path "c:\logs" |
select @{l='Name';e={$_.basename}},Lastwritetime |
export-csv c:\temp\logs.csv
于 2013-10-22T14:25:10.720 に答える