Weboldal keresés

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.

Leállítás: Mielőtt folytatná az alábbi módszerek bármelyikét, mentse el a forráslistát vagy -könyvtárat sablonként, tartalom nélkül, és hozzon létre egy új listát a listasablonból, hogy a forrás- és célkönyvtárak hasonlóak legyenek!

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)  
}
Míg az Áthelyezés művelet megőrzi a metaadatokat és a verzióelőzményeket, a Másolás nem! Ezenkívül az Explore View Drag & Drop a Forráskönyvtárból a célba funkció szintén megőrzi a verziókat.

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.
Tippek: A SharePoint általános ökölszabálya a jobb teljesítmény érdekében nagy listákon és könyvtárakon: 2000-nél kevesebb fájl legyen tárolónként (lista/könyvtár/mappa).

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

Kapcsolódó cikkek