Поэтому неплохо это уметь, а не уповать "на авось", тем более что делается это очень просто с помощью довольно короткого PowerShell-скрипта. У меня давно уже валяется такой скрипт, который использую лично я, вот решил поделиться :)
Не смею больше тянуть:
# Генерим XML для создания 150 записей в списке с GUID = $listID # Колонку с InternalName=$column заполняем случайными числами от 1 до 10 млн. function Generate150Items($listID, $column) { $method = "<Method ID=""{0}""><SetList>" + $listID + "</SetList><SetVar Name=""Cmd"">Save</SetVar><SetVar Name=""ID"">New</SetVar><SetVar Name=""urn:schemas-microsoft-com:office:office#" + $column + """>{1}</SetVar></Method>`n" Write-Host Method template: $method $methods = "" $r = New-Object System.Random for($i = 1;$i -le 150; $i++) { $methods = $methods + [System.String]::Format($method, $i, $r.Next(1,10000000)) } return [System.String]::Format("<?xml version=""1.0"" encoding=""UTF-8""?><ows:Batch OnError=""Return"">{0}</ows:Batch>", $methods); } # Пример использования $web = Get-SPWeb http://localhost $list = $web.Lists["Your list title"] $xml = Generate150Items $list.ID "Title" $results = $web.ProcessBatchData($xml)
Результат:
В списке:
P.S.: Да, желательно тестовые данные создавать в тестовых списках, потому что удалить, к примеру, 15000 записей без удаления самого списка - на самом деле далеко не так просто, как это может показаться :)
Но если вам все-таки нужно будет удалить много записей, и не удалять при этом список - как это сделать правильно, описано на SharePoint StackExchange (к слову, это ответ многим известного Игоря Афанасова).
Извините, но из скрипта я не понял:
ОтветитьУдалить$results = $w.ProcessBatchData($xml)
Что такое $w и где оно объявлено?
Вячеслав, замените $w на $web плз :) Я пишу более короткие имена переменных для быстроты, но для поста решил сделать их более читаемыми. Соответственно, не везде заменил :( Сейчас исправлю.
Удалить