同じサイトコレクション内のあるドキュメントライブラリから別のドキュメントライブラリに最大10,000個のファイルを移動する必要があります。これを行うには、PowerShellが最善の手段であると思います。
私は次の記事を見つけました:http://blog.isaacblum.com/2011/10/04/spfilecollection-class-copy-files-to-another-document-library/#respondこれを行うための手段を提案しましたが私はmこのスクリプトをどのように適応させるかわからない(このプロジェクトでPowershellに初めて触れるようになりました)。
私は無駄に次のことを試みました:
$PSSnapin = Add-PsSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue | Out-Null
clear
$org = "hhttp://farm/sitecollection/Document Library Source/Forms/AllItems.aspx"
$dest = "hhttp://farm/sitecollection/Document Library Destination/Forms/AllItems.aspx"
$orgLibrary = (Get-SPWeb $org).Folders["Documents"]
$destLibrary = (Get-SPWeb $dest).Folders["Documents"]
$destFiles = $destLibrary.Files
foreach ($file in $orgLibrary.Files)
{
$curFile = $file.OpenBinary()
$destURL = $destFiles.Folder.Url + "/" + $file.Name
$destFiles.Add($destURL, $curFile, $true)
}
これを行う別の方法はありますか?SharePoint2010ではなくMOSS2007とPowershell2.0を使用していることに注意してください。
更新/半回答:
以下のx0nの投稿によると、これはSharePoint 2007ではサポートされていません(2010のみ)。私はこのスレッドの外で次のアドバイスを受け取りました。これは適切であり、将来的に他の人を助けるはずです。
残念ながら、SharePoint 2010の管理シェル(PowerShellスナップインおよび関連するコマンドレット)はMOSS 2007と互換性がなく、そのバージョンのSharePoint用にMicrosoftから直接利用できるコマンドレットはありません。つまり、MOSS 2007でPowerShellを引き続き使用できますが、STSADMまたはSharePointオブジェクトモデルを直接使用する独自のコマンドレットを作成するか、MOSS2007互換を使用する必要があります。サードパーティからのコマンドレット。Gary Lapointeのブログで、MOSS 2007用の優れたPowerShellコマンドレット(http://blog.falchionconsulting.com/)や、CodePlex.com、TechNet Script Repository、POSHCodeなどのコマンドレットをアップロードする場所を確認することをお勧めします。 .org、またはhttp://get-spscripts.com/。