Avatar of J.R. Sitman
J.R. Sitman
Flag for United States of America asked on

Need a script to copy files from a local drive to a folder at another location

We use Citrix server from our remote location to access files at our LA office.  When on Citrix I need to copy two files or the entire folder from the local computer to a folder in LA.  
I tried modifying an existing script (that I didn't write and don't know how to) but it didn't work.  Below is the source and path I need.

strSource = "\\client\c$\paw_palace"
strDest = "\\databases\access2015\Paw_Palace"
Active DirectoryNetworkingVB Script

Avatar of undefined
Last Comment
Gustav Brock

8/22/2022 - Mon
Gustav Brock

As you don't reveal your secret script, you can study one that works the other way round:

Deploy and update a Microsoft Access application in a Citrix environment

It should be nothing more than reduce it to the copying part and reverse the local and remote folder.

/gustav
J.R. Sitman

ASKER
That script I'm sure is great, but completely over my head.   Below is what we currently use to copy photos from a local folder to a folder over our network.  All I want to do is copy two files from a local folder to a remote folder.  

I tried changing this script but it doesn't work.   I think because of the portion of the code that uses monthname.

How do I modify this code or can you create one for me, please?


Option Explicit
Dim strSource, strDest, strFolderName, strFolderPath
Dim objFSO

strSource = "\\client\c$\photos"
strDest = "\\fileserver\community files\Public Files\Pet-Ark"

strFolderName = Right("0" & Day(Date), 2) & _
    MonthName(Month((Date))) & Year(Date) & "-SB"
   
   
strFolderPath = strSource & "\" & strFolderName


Set objFSO = CreateObject("Scripting.FileSystemObject")


objFSO.CopyFolder strFolderPath, strDest & "\" & strFolderName, True


WScript.Echo strFolderPath & " copied to " & strDest & "\" & strFolderName
Gustav Brock

You probably need quotes around the paths:

strFolderPath = Chr(34) & strSource & "\" & strFolderName & Chr(34)

/gustav
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck
J.R. Sitman

ASKER
I think you misunderstood.  The script I posted works fine.  I need a new one
Gustav Brock

Oh, then you use the CopyFile method:

    objFSO.CopyFile SourcePath, DestinationPath

where both parameters are the full path/file names, for you like: \\server\folder\filename

/gustav
J.R. Sitman

ASKER
Below is the script I'm trying to get to work.  Would you please modify it for me?  

Option Explicit
Dim strSource, strDest, strFolderName, strFolderPath
Dim objFSO

strSource = "\\client\c$\pawpalace"
strDest = "\\databases\access2015\pawpalace"

Set objFSO = CreateObject("Scripting.FileSystemObject")


objFSO.CopyFolder strFolderPath, strDest & "\" & strFolderName, True


WScript.Echo strFolderPath & " copied to " & strDest & "\" & strFolderName
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
J.R. Sitman

ASKER
I get this

script.png
Gustav Brock

It could be:
Option Explicit
Dim strSource, strDest, strFolderName, strFolderPath
Dim objFSO

Set objFSO = CreateObject("Scripting.FileSystemObject")

strSource = "\\client\c$\pawpalace"
strDest = "\\databases\access2015\pawpalace"
strFile = "YourFile.png"

objFSO.CopyFile strSource & "\" & strFile,  strDest & "\"

WScript.Echo strSource & "\" & strFile & " copied to " & strDest & "\"

Open in new window

/gustav
J.R. Sitman

ASKER
got this

script2.png
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23
Gustav Brock

Seems right.
Include strFile in the Dim line. And remove strFolderName, strFolderPath.

/gustav
J.R. Sitman

ASKER
That worked.   How do I have it copy two files?   My test is currently only one.  see working script

Option Explicit
Dim strSource, strDest, strFile
Dim objFSO

Set objFSO = CreateObject("Scripting.FileSystemObject")

strSource = "\\client\c$\pawpalace"
strDest = "\\databases\access2015\pawpalacebackup"
strFile = "pp.mdb"

objFSO.CopyFile strSource & "\" & strFile,  strDest & "\"

WScript.Echo strSource & "\" & strFile & " copied to " & strDest & "\"
ASKER CERTIFIED SOLUTION
Gustav Brock

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
J.R. Sitman

ASKER
Perfect.  Thanks very much for doing this.
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
Gustav Brock

You are welcome!

/gustav
J.R. Sitman

ASKER
Can a message be added that tells them when it is complete?
Gustav Brock

Yes, append this line:

    MsgBox "Two files copied.", 64, "File Copy"

/gustav
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes
J.R. Sitman

ASKER
Worked.

Thanks again
Gustav Brock

Have a nice weekend!

/gustav