We help IT Professionals succeed at work.

Need help using a CSV file to copy files to new subfolders using Powershell

sfaulstich
sfaulstich asked
on
I have a CSV file with headers FilePath and FileDestination. I can load it in an array with import-csv.

What I need to do is copy each file from FilePath (eg G:\99999\0001\CientWill1.PDF) to the FileDestination (e.g G:\99999\00001\Trusts and Wills\ClientWill1.PDF). Creating the subfolders as needed.

Something with Copy-Item / Foreach-object using the headers should work, but I've tried a ton of combinations, and had no success. Can anyone give me a bit of help getting this going?

Thanks,
Comment
Watch Question

Most Valuable Expert 2012
Top Expert 2014
Commented:
Hi, something like should work for you.  You could use -WhatIf if you needed to.

Regards,

Rob.

import-csv .\FileToCopy.txt | 
ForEach {
    if ((Test-Path -Path $_.FileDestination) -eq $false) {
        New-Item -ItemType Directory -Force -Path $_.FileDestination
    }
    Copy-Item -Path $_.FileName -Destination $_.FileDestination -Recurse -Force
}

Open in new window

Author

Commented:
Rob,

You are amazing. Thank you so much for the fast reply.
Most Valuable Expert 2012
Top Expert 2014

Commented:
Thanks!  If it works for you, please don't forget to close the question.  Otherwise, let me know if you need anything further, or any of it explained.

Rob.

Author

Commented:
Rob gave me a fast answer after I was stumped. I very much appreciate the help!