Solved

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

Posted on 2015-01-07
3
1,810 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

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Join & Write a Comment

Create and license users in Office 365 in bulk based on a CSV file. A step-by-step guide with PowerShell script examples.
A procedure for exporting installed hotfix details of remote computers using powershell
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

746 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now