Platform & Ops

How to Move and Rename Items from Source to Destination Path in Sitecore Using Sitecore PowerShell

Team working together at a table
Photo: Annie Spratt / Unsplash · Royalty-free

Here is the simple script for this: # database name $db = “master:” # source path $sourcePath = “/sitecore/content/Generic Content/Generic Pages/Basic Generic Item” # destination path – task was to move the generic pages from generic location to country based locations $destinationPath = “/sitecore/content/USA/Generic Content/Generic Pages/Basic Generic Item” $itemsList = Get-ChildItem -recurse -Path ($db + $sourcePath) | Where { $_.TemplateName -eq “Generic Pages” } $itemsList | ForEach-Object { # task was to append parent name to the new item $newName = $_.Name + “-” + $_.Parent.Name if(![string]::IsNullOrEmpty($newName)){ Move-Item -Path $_.ProviderPath -Destination ($db + $destinationPath + “/” +                    $newName) Write-Host “Moved Item: ” $newName  ” to path: ” ($db + $destinationPath) }else{ Write-Host “Could not move Item: ” $newName } }