사용자 정의 객체 생성 및 출력 사용
-
12-09-2019 - |
문제
다음을 사용하여 모든 텍스트 파일에서 한 줄을 읽은 다음 해당 정보를 하나의 파일로 요약합니다.
$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
제휴하지 않습니다 StackOverflow