Solved

Powershell - Copy file from network drive to Sharepoint library - Keep modified date

Posted on 2015-01-07
3
2,179 Views
Last Modified: 2015-01-13
Hi,

Is it possible to copy a PDF-file from a Network share into a SharePoint library and keeping the modified date, with powershell? So Sharepoint shows the lastwritetime as the modified date?
0
Comment
Question by:Sum Wum
  • 2
3 Comments
 
LVL 8

Expert Comment

by:Jayaraja Jayaraman
ID: 40540789
if its just one file then easy way would be , just upload the doc manually and update the modifed date using
$file.Item["Modified"] = datetime
item.Update();
0
 
LVL 1

Author Comment

by:Sum Wum
ID: 40543741
It's about 700 files, so that's a no go :)
0
 
LVL 8

Accepted Solution

by:
Jayaraja Jayaraman earned 500 total points
ID: 40544761
still a ps would do to upload a file from network/file share to a sharepoint doc lib with additional parameters.

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) {
     Add-PSSnapin Microsoft.SharePoint.PowerShell;
 }

#Site Collection where you want to upload files
$siteCollUrl = "http://webapplication/sites/Upload"
#Document Library where you want to upload files
$libraryName = "Shared Documents"
#Physical/Network location of files
$reportFilesLocation  = "C:\Users\manas\Desktop\Files"

$spSourceWeb = Get-SPWeb $siteCollUrl;
$spSourceList = $spSourceWeb.Lists[$libraryName];

if($spSourceList -eq $null)
{
    Write-Host "The Library $libraryName could not be found."
    return;
}

$files = ([System.IO.DirectoryInfo] (Get-Item $reportFilesLocation)).GetFiles()
foreach($file in $files)
{
    #Open file
    $fileStream = ([System.IO.FileInfo] (Get-Item $file.FullName)).OpenRead()

    #Add file
    $folder =  $spSourceWeb.getfolder($libraryName)

    Write-Host "Copying file $file to $libraryName..."
    $spFile = $folder.Files.Add($folder.Url + "/" + $file.Name, [System.IO.Stream]$fileStream, $true)

    #Close file stream
    $fileStream.Close();
}
$spSourceWeb.dispose();
Write-Host "Files have been uploaded to $libraryName.

or you could use this : https://spbulkdocumentimport.codeplex.com/ 
Features

Run it anywhere. Every action is done using the Client Object Model, there is no need to install it on the server.
Support for Mixed authentication, both Windows and Forms
Import folders and files with all subfolders
Retain creation and modified date fields after moving to SharePoint
Retain author/editor fields from office documents after moving to SharePoint
Incompatible file names are renamed (filename too long, illegal characters)
Unsupported files (large filesize, blocked file extension, …) are skipped
Files already existing on SharePoint are skipped (no overwrite)
Successfully migrated files and folders can be moved to an “archive” folder
Detailed log (Log4Net) with info on migration issues
Option to skip creation of empty folders in SharePoint
Option to merge subfolders to a flat list in SharePoint.
Easy to run in batch when migrating several locations
0

Featured Post

Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

These days socially coordinated efforts have turned into a critical requirement for enterprises.
A project that enables an administrator to perform actions within a user session context not just at the time of login but any time later on day(s) or week(s) later.
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the admini…

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question