Why wont this work in a .bat file?

Hi;

II'm on windows 2000

I'm trying to be a good boy by backing up my files everyday.

I'm trying to write a bat file to back up all of the crap in my  My Documenets directory.

I keep trying this command:
xcopy C:\Documents and Settings\srussel\My Documents B:\MyDocuments /S/Y


I keep getting the error message "invalid number of prarameters".

Why?

What can I do about it?

Steve
Steve34Asked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
AvonWyssConnect With a Mentor Commented:
You need to enclose the paths with "" if they have spaces in it, so that XCOPY (and all other command-line commands, by the way) knows where a file name starts and ends. Spaces usually separate parameters, so if you don't use the quotes the command will assume a new parameter after every space.

In your case,

xcopy "C:\Documents and Settings\srussel\My Documents" B:\MyDocuments /S /Y

will work fine.
0
 
HousenetCommented:
-You forgot the quotes because of the 8.3 rule.
-This works.. I tested it.
xcopy C:\"Documents and Settings\srussel\My Documents" B:\"MyDocuments" /S/Y

0
 
AvonWyssCommented:
Argh, shouldn't write such long explanations, this makes my answers late all the time... :-/
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

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.

 
HousenetCommented:
hahahah! Woo hoo :) nanannana
0
 
AvonWyssCommented:
Housenet, I'll mail one of your colleagues to pour some glue in your keyboard... ;-)
0
 
AvonWyssCommented:
And btw., this has nothing to do with the 8.3 rule, but only with the spaces used as parameter delimiters. The one big excpetion is the command CD, which ALWAYS only takes one parameter and thus also allows directory names with spaces not to be enclosed with quotes.
0
 
HousenetCommented:
AvonWyss the fact is, when you use an 8 character represtentation of the path it works, so I think my statement also applies..     cd docume~1
0
 
AvonWyssCommented:
Housenet, let's fight over this... hehehe... ;-)

No, seriously. Of course your suggested example is correct. And it's also ture that the 8.3 names don't need any quotes, as they never have spaces in them.

Fact is, XCOPY complains about too many parameters because its parser (correctly) parsed the word "and" as second filename and afterwards did not expect any other parameters to follow other than switches.

As for 8.3 names, you cannot know guess the correct 8.3 name for a long name; instead of docume~1 (in your example), it could also be docum~15 - so its not possible to reliably substitute long names by 8.3 names in batch files.
0
 
HousenetCommented:
-AvonWyss...whatever.. who cares ?
-Steve34 give the points to whomever solved your problem FIRST. :)
0
 
Steve34Author Commented:
Well, there were 2 correct answers to my question.

Your answer had more explanation and since it came only 2min later then the first correct answer I'll  give the points to you being that  you did more more by typing more of an explanation :)

Thanks to everyone for the speedy reply.

Steve
0
 
AvonWyssCommented:
Thanks Steve!
0
 
HousenetCommented:
-Steve34 you're a freaken ass...

0
All Courses

From novice to tech pro — start learning today.