コンテンツのインポート¶
CSV ファイルで定義されたデータに関して、コマンドを利用してインポートを実行します。
$importData = Import-CSV "C:\Temp\test.csv"
foreach ( $row in $importData ) {
$item = Get-Item -Path master:$($row.ItemPath) -ErrorAction SilentlyContinue
if ($item) {
$item.Editing.BeginEdit()
$item["Title"] = $row.Title
$item["Text"] = $row.Text
$item.Editing.EndEdit() | Out-Null
}
else {
Write-Host "Couldn't find: $($row.ItemPath)"
}
}
すでにエクスポートしたデータをオフラインで変更、それをインポートを実行しています。アイテムがない場合は、アイテムがないというメッセージを出しています。これを応用して、アイテムがない場合は作成をするようにします。
$importData = Import-CSV "C:\Temp\test.csv"
foreach ( $row in $importData ) {
$item = Get-Item -Path master:$($row.ItemPath) -ErrorAction SilentlyContinue
if ($item) {
$item.Editing.BeginEdit()
$item["Title"] = $row.Title
$item["Text"] = $row.Text
$item.Editing.EndEdit() | Out-Null
}
else {
$newItem = New-Item -Path $row.ItemPath -Name $row.Name -ItemType "Sample/Sample Item"
$newItem.Editing.BeginEdit()
$newItem["Title"] = $row.Title
$newItem["Text"] = $row.Text
$newItem.Editing.EndEdit() | Out-Null
Write-Host "Create new Item: $($row.ItemPath)"
}
}