Solved

VBS script multiple copy of files to Mapped Drives

Posted on 2009-07-14
5
336 Views
Last Modified: 2012-05-07
Hello,

I am currently trying to copy one file to multiple drives using a VBS script I have the code for copy to one drive but would like to make it copy file to multiple at the same time. The drive letters that I am using are P > X

Any help would be greatly appreciated as I seem to be having a issue with this.. Thanks

I have attached current code as a example
Const OverwriteExisting = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "C:\test.exe" , "P:\", OverwriteExisting

Open in new window

0
Comment
Question by:ITCSHRPK
  • 3
  • 2
5 Comments
 
LVL 38

Expert Comment

by:Shift-3
ID: 24852096
This should do it.


Const OverwriteExisting = True
 
For i = 80 To 88
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.CopyFile "C:\test.exe" , Chr(i) & ":\", OverwriteExisting
Next

Open in new window

0
 
LVL 38

Accepted Solution

by:
Shift-3 earned 250 total points
ID: 24852385
To elaborate, I used the Asc function to get the decimal ASCII value of the letters P and G, e.g.
WScript.Echo Asc("P")WScript.Echo Asc("X")

This returns values of 80 and 88.  (There are also tables available online where you can look these up.)

I then used a For...Next loop to iterate through the numbers 80-88.

The Chr function converts from the ASCII value back to the character.
0
 

Author Comment

by:ITCSHRPK
ID: 24852441
Thanks Sage..

If I wanted to change this up a bit and have it actually copy to a IP on a seperate Domain how would I go about that. This will end up being scheduled to run in the early hours of the morning.

The current process that I have is Map the drives - Copy the files - Remove the Drive mapping.. all items are completed via a VBS file.

Thanks
0
 
LVL 38

Expert Comment

by:Shift-3
ID: 24853147
You would do better to skip mapping the drives and just copy the files using the UNC paths.

You could put the target paths in an array and then copy to each of them, as below.  Run the scheduled task under an account which has permission to write to the destinations.


Const OverwriteExisting = True
 
arrTargets = Array("\\192.168.100.100\share\","\\192.168.100.101\share\")
 
For Each strTarget in arrTargets
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.CopyFile "C:\test.exe", strTarget, OverwriteExisting
Next

Open in new window

0
 

Author Comment

by:ITCSHRPK
ID: 24853264
Thanks again Sage.. Much appreciated will give that a shot and see how it goes..
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.

Question has a verified solution.

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

Over the years I have built up my own little library of code snippets that I refer to when programming or writing a script.  Many of these have come from the web or adaptations from snippets I find on the Web.  Periodically I add to them when I come…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

778 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