문제

다음을 사용하여 모든 텍스트 파일에서 한 줄을 읽은 다음 해당 정보를 하나의 파일로 요약합니다.

$computers = Get-content computers.txt
$users = users.csv
$header = 'Computer','User','Date','Time'

Foreach ($computer in $computers)
{
$file = $computer +'.txt'

$a = import-csv $file -Header $header | Select -first 1 
$obj = New-Object PSObject
$obj | Add-Member NoteProperty Computer ($a.Computer)
$obj | Add-Member NoteProperty User ($a.User)
$obj | Add-Member NoteProperty Date ($a.Date)
$obj | Add-Member NoteProperty Time ($a.Time)

Write-Output $obj
$obj | Export-csv -path  $users -notype
}

코드를 실행하면 Writ 내가 뭘 잘못하고 있죠?

도움이 되었습니까?

해결책

각 루프 반복마다 CSV 파일을 덮어 쓰고 있습니다. 다음은 각 CSV 파일이 4 개의 열 (예 : 컴퓨터, 사용자, 날짜, 시간) 만 있다고 가정 한 후에 다음과 같이 생각합니다.

Get-content computers.txt | foreach-object {
    import-csv "$computer.txt" -Header $header | Select -first 1 
} | Export-csv $users -notype

다른 팁

배열 변수를 만들고 각 $ obj를 추가하십시오. Foreach 루프 후, 객체 배열을 내보내십시오.

$arr = @()

foreach (...) {
    ...
    $arr += $obj
}

$arr | Export-csv -path  $users -notype
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top