メモ
- CSVの操作ではなく、PSCustomObjectの配列をどう扱うか
- ConvertTo-Csv に続けて ConvertFrom-Csv を実行した後の内容を見る
Set-StrictMode -Version Latest
Set-Location -Path "${env:USERPROFILE}\Desktop\tmp123"
$a = Get-ChildItem | Select-Object -Property Name, LastWriteTime |
ConvertTo-Csv -NoTypeInformation | ConvertFrom-Csv
$a | Set-Clipboard
- PSCustomObject の配列を作成して ConvertTo-Csv と ConvertFrom-Csv を実行した後の内容を見る
Set-StrictMode -Version Latest
$row1 = [PSCustomObject]@{colA = "名前1.txt"; colB = "2020/1/2 03:04:05" }
$row2 = [PSCustomObject]@{colA = "名前2.txt"; colB = "2020/6/7 08:09:10" }
$row3 = [PSCustomObject]@{colA = "名前3.txt"; colB = "2020/11/12 13:14:15" }
$a = @($row1, $row2, $row3)
$b = $a | ConvertTo-Csv -NoTypeInformation
$b | Set-Clipboard
$c = $b | ConvertFrom-Csv
$c | Set-Clipboard
Write-Host $c[2].psobject.Properties.Name[0]
Write-Host $c[2].psobject.Properties.Name[1]
Write-Host $c[2].psobject.Properties.Value[0]
Write-Host $c[2].psobject.Properties.Value[1]
$c[0].($c[0].psobject.Properties.Name[0]) = "ファイル1.txt"
$c[0].($c[0].psobject.Properties.Name[1]) = "令和2年1月2日"
$c[1].($c[1].psobject.Properties.Name[0]) = "ファイル2.txt"
$c[1].($c[1].psobject.Properties.Name[1]) = "令和2年6月7日"
$c[2].($c[2].psobject.Properties.Name[0]) = "ファイル3.txt"
$c[2].($c[2].psobject.Properties.Name[1]) = "令和2年11月12日"
$d = $c | ConvertTo-Csv -NoTypeInformation
$d | Set-Clipboard