Solved

Loop in a batch file, and increment a UNC path

Posted on 2006-06-14
11
6,952 Views
Last Modified: 2011-08-18
Hi ..
I need to copy a file from my server onto 50 computers, each one is named computer-01, computer-02... computer-50.
How can I do this via a batch file without copy/pasting the line 50 times?!

copy \\server\file.xyz \\computer-01\c$\progra~1\whateverfolder\

I'm sure this is quite simple, but I haven't got a massive amount of experience with batch file scripting!

Thanks!
0
Comment
Question by:budchawla
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 3
  • 2
11 Comments
 
LVL 4

Assisted Solution

by:Nat_c
Nat_c earned 125 total points
ID: 16902304
Hi budchawla,

You can use the "for" to repeat a command for multiple variables

You can use this as a test to prove the principle

for /l %n in (1,1,3) do md dir%n

%n is the variable
(start number,increment,end number)
do "command"

The above will create 3 directories call dir1, dir2, dir3

Your commands would need to be

for /l %n in (1,1,9) do copy \\server\file.xyz \\computer-0%n\c$\progra~1\whateverfolder
for /l %n in (10,1,50) do copy \\server\file.xyz \\computer-%n\c$\progra~1\whateverfolder

I think you will need to do this in the two commands as your question says the PC names have leading zeros, the 1st command will do 01 - 09 (notice the 0 before %n) the next command will do 10 - 50.

Hope this all makes sense.
Nat
0
 
LVL 10

Author Comment

by:budchawla
ID: 16902363
Hi Nat,

All makes sense to me.. but I just tried it by creating a batch file in the root of c: with the following:
for /l %n in (1,1,8) do md dir%n
exactly as you said, and I get a message saying the syntax of the command is incorrect?
0
 
LVL 10

Author Comment

by:budchawla
ID: 16902534
funny thing, if I run the command itself from the prompt, no problem...
0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
LVL 10

Author Comment

by:budchawla
ID: 16902549
aha... if I type the whole filename at the prompt, (type in md.bat rather than just md) I get a different message:

n was unexpected at this time.

Any ideas?
0
 
LVL 30

Accepted Solution

by:
SteveGTR earned 125 total points
ID: 16902569
When you use the for processing in a batch file you must use double quotes like so:

for /l %%n in (1,1,8) do md dir %%n

Good Luck,
Steve
0
 
LVL 10

Author Comment

by:budchawla
ID: 16902583
Also, do you know of a good syntax reference for this kind of thing?
0
 
LVL 30

Expert Comment

by:SteveGTR
ID: 16902585
Sorry inserted extra space in your md command:

for /l %%n in (1,1,8) do if not exist "dir%%n" md dir%%n

Added a check to see if the directory exists to make up for my mistake :)
0
 
LVL 10

Author Comment

by:budchawla
ID: 16902588
aha .. that's it, thanks SteveGTR...
0
 
LVL 30

Expert Comment

by:SteveGTR
ID: 16902600
You can type /? for any command on the command prompt. For example:

for /?

or

if /?

I use that all the time. Also, this site has a bunch of good information on batch processing:

http://www.robvanderwoude.com/index.html
0
 
LVL 4

Expert Comment

by:Nat_c
ID: 16902611
You can type "help for" at the command prompt and it will tell you all the syntax
0
 
LVL 10

Author Comment

by:budchawla
ID: 16902644
thanks guys.. both resources useful!
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

The following is a collection of cases for strange behaviour when using advanced techniques in DOS batch files. You should have some basic experience in batch "programming", as I'm assuming some knowledge and not further explain the basics. For some…
VALIDATING DATES One method of validating dates is to jam the date into the DATE command and see if it accepts it by examining the system's errorlevel value. A non-zero result indicates failure. A typical example might look something like the fol…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…
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…
Suggested Courses

737 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