Fájlok áthelyezése a metaadatokkal és a verzióelőzményekkel rendelkező dokumentumkönyvtárak között
Követelmény: A fájlok áthelyezése a metaadatokkal és a verzióelőzményekkel rendelkező dokumentumkönyvtárak között.
Hatalmas dokumentumtárunk több mint 100 000 dokumentumot tartalmaz, ami keresési feltérképezési és késleltetési problémákat okoz. Ezért úgy döntöttem, hogy a régi dokumentumokat évről évre külön dokumentumtárakba archiválom.
1. megoldás - A Tartalom és szerkezet oldal használata a verziókkal és metaadatokkal rendelkező fájlok áthelyezéséhez:
Az összes SharePoint-verzió, beleértve a MOSS 2007-et, a SharePoint 2010-et és a SharePoint 2013-at, támogatja ezt a funkciót.
Lépjen a Webhelybeállításokhoz >> Kattintson a „Tartalom és szerkezet” hivatkozásra a Webhely adminisztrációja részben
- Válassza ki az áthelyezni kívánt elemeket/fájlokat, kattintson a Műveletek >> Áthelyezés elemre
- Válassza ki a céllistát vagy könyvtárat, és kattintson az „OK” gombra az áthelyezési művelet befejezéséhez.
Ez elküldi a verzióelőzményeket és metaadatokat tartalmazó fájlokat a céllistának.
2. megoldás: A PowerShell segítségével programozottan mozgassa a fájlokat a dokumentumtárak között
Használjunk PowerShell-szkriptet a fájlok listák közötti mozgatásához: Az ötlet az, hogy minden hónaphoz hozzon létre egy almappát, és helyezze át a dokumentumokat almappákba a létrehozásuk dátuma alapján.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Get the web and List
$Web = Get-SPWeb "https://intranet.sharepoint.com/sites/Marketing/"
$SourceList = $web.Lists["Proposals"]
$TargetList = $Web.Lists["Proposal Archive 2009"]
#Get all Files Created in 2009
$Query = '<Where><And><Geq><FieldRef Name="Created" /><Value IncludeTimeValue="TRUE" Type="DateTime">2009-01-01T00:00:00Z</Value></Geq><Leq><FieldRef Name="Created" /><Value IncludeTimeValue="TRUE" Type="DateTime">2009-12-31T23:59:59Z</Value></Leq></And></Where>'
$SPQuery = new-object Microsoft.SharePoint.SPQuery
#$SPQuery.ViewAttributes = "Scope='Recursive'" #To include Sub-folders in the library
$SPQuery.Query = $Query
$SourceFilesCollection =$SourceList.GetItems($SPQuery)
Write-host "Total number of files found: "$SourceFilesCollection.count
#Move each file to the destination folder
foreach($item in $SourceFilesCollection)
{
#Get the Source File
$file = $Web.GetFile($item.File.URL)
#Get the Month value from the File created date
$MonthValue = $item.File.TimeCreated.ToString('MMMM')
# Try to Get the Sub-Folder in the Library!
$TargetFolder = $TargetList.ParentWeb.GetFolder($TargetList.RootFolder.Url + "/" +$MonthValue);
#If the folder doesn't exist, Create!
if ($TargetFolder.Exists -eq $false)
{
$TargetFolder = $TargetList.Folders.Add([string]::Empty, [Microsoft.SharePoint.SPFileSystemObjectType]::Folder, $MonthValue)
$TargetFolder.Update()
}
#Move the File
$file.MoveTo($TargetFolder.Url + "/" + $File.name)
}
3. megoldás: Fájlok áthelyezése a SharePoint tervező segítségével
- Nyissa meg webhelyét a SharePoint Designerben
Nyissa meg az Összes fájl >> Lépjen a forráskönyvtárhoz. Válassza ki a másolni/áthelyezni kívánt fájlokat, majd válassza a Kivágás/Másolás lehetőséget
- Nyissa meg a célkönyvtárat, kattintson a jobb gombbal, és válassza a „Beillesztés” lehetőséget.
A fenti módszerek mindegyike áthelyezi a dokumentumokat ugyanazon webhelycsoport könyvtárai között! Fájlok másolása a dokumentumtárak között a PowerShell használatával: Fájlok másolása dokumentumtárak között a SharePointban a PowerShell használatával

