Sophisticated(!) copying in DOS

  • Thread starter Thread starter Guest
  • Start date Start date
RJB said:
Dude. Check the hostility.

I have confirmed in damn near every thread that I AM running from the
command prompt.

I didn't understand your "explicit" so I asked for clarification.

My ONLY problem is with the /EXCLUDE switch. So it makes sense to me to
focus on that. It is not a tangent. It IS the problem.

Since the paths are correct when the switch is not in there, I am
presuming the paths are STILL correct when it is. I can copy between
directories till my toes curl, what I can't do is exclude a list of files.
Which is all I want to do.

My comment "I don't know where it is" - I have the batch file. It is on my
desktop. When it runs, I don't know what IT considers its "explicit"
location. If I move it to any directory, I get the same result - nothing.

I have done everything everybody has suggested. I have done my best to
explain what the results were, and if I tried modifying others'
suggestions, I have tried to explain that.

But thanks, for the first time in decades, I actually feel like I'm a
moron.

I'm sorry if you are frustrated. I'm sorry if I appear hostile. I'm not
hostile, just frustrated, as you are. Not knowing how something works
doesn't make you a moron. I have spent hours crafting scripts to copy files
to CDRW for backups. It can be very frustrating getting it working as
expected. The key is to figure out exctly what you want to do then create a
very simple test situation. Once the test situation is working then apply it
to the original problem.

It appears you don't understand that Windows XP is not built on DOS. When a
program runs it has it's own unique environment. Because of this scripts
(batch files) often work differently than they did in earlier versions of
Windows. If you run a file from your desktop it won't have any idea where
the exclude file is located. From all the posts it sounds like this is your
problem. Usually it is simplest to have the script and any associated files
in the source directory. Make a shortcut on your desktop to run the script.

I suggest you create two temporary directories on a local drive. Keep it
very simple. e.g. C:\TEMP1 and C:\TEMP2.

Copy the files to TEMP1.

Create the exclude file in TEMP1. Call it EXCLUDE.TXT.

Start a cmd prompt and navigate to TEMP1 so that the prompt in the cmd
window looks like this C:\TEMP1>.

Type "XCOPY C:*.* C:\TEMP2\ /EXCLUDE;EXCLUDE.TXT". Without the quotations
and trailing period.

Keep it very simple, maybe one line in EXCLUDE.TXT that only excludes one
file. Make sure to keep the batch file and the exclude file in the source
directory. See if that works. If it doesn't work report back. There is some
other problem. If it does then you have to figure out how to apply this to
your situation.

It appears you don't understand that Windows XP is not built on DOS. I say
this because DOS and earlier versions of Windows used .bat files. Win2K and
XP use .cmd files usually called scripts. For compatibilty XP will run .bat
files the same as .cmd files. It really doesn't matter what you call them,
they should work. When a program runs it has it's own unique environment.
Because of this scripts often work differently than they did in earlier
versions of Windows. If you run a file from your desktop it won't have any
idea where the exclude file is located. From all the posts it sounds like
this is your problem. Usually it is simplest to have the script and any
associated files in the source directory. Make a shortcut to the batch file
on your desktop to run the script.

Kerry
Kerry Brown said:
RJB said:
read everyone's posts and try following directions. Once it's working
you can build from there.

Um, I appreciate the advice, but I HAVE been trying to follow
directions. In fact, I will go one step further, and say that I HAVE
followed directions.

Then why haven't you tried it from a cmd prompt, while in the source
directory, with the exclude file in the source directory, with no path
names in the command line other than the destination directory? This will
help to diagnose if it is a path related problem. I suggested this and
your response was:

What do you mean "make sure [I am] explicitly in the directory"? I am
running the batch file FROM the destination laptop...

Then you went off on a tangent about the /EXCLUDE parameter.

I then posted again repeating the instructions and you said you don't
know where the file is. If you don't know where it is how do you copy it
in the first place? If it is a network share then just map a drive to
that share. You seem unable or unwilling to understand and follow
directions. I'm not trying to put you down. Diagnosing a problem by
newsgroup is frustrating at the best of times. When you keep repeating
that you are following directions when you clearly aren't it is even more
frustrating.

Kerry
 
There is clearly a disconnect.

I have posted this all before.

Or is there something I am missing?

XCOPY /y "G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM"
/EXCLUDE:NOCOPYLIST.TXT "C:\RECEIVE\"

Where NOCOPYLIST.TXT contains:

ABC Jackson.fil
ABC Smith.fil
ABC Alias.fil
ABC Polar.fil


I have also run it with DONTCOPY.TXT in the EXCLUDE command, where
DONTCOPY.TXT contains:
"ABC Jackson.fil"
"ABC Smith.fil"
"ABC Alias.fil"
"ABC Polar.fil"

And also
"G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM\ABC Jackson.fil"
"G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM\ABC Smith.fil"
"G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM\ABC Alias.fil"
"G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM\ABC Polar.fil"

I have also run
XCOPY /y "G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM"
/EXCLUDE:"G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOMNOCOPYLIST.TXT
" "C:\RECEIVE\"



Pegasus (MVP) said:
As I said before: Post your batch file and your exclude file.


RJB said:
Dude. Check the hostility.

I have confirmed in damn near every thread that I AM running from the
command prompt.

I didn't understand your "explicit" so I asked for clarification.

My ONLY problem is with the /EXCLUDE switch. So it makes sense to me to
focus on that. It is not a tangent. It IS the problem.

Since the paths are correct when the switch is not in there, I am presuming
the paths are STILL correct when it is. I can copy between directories till
my toes curl, what I can't do is exclude a list of files. Which is all I
want to do.

My comment "I don't know where it is" - I have the batch file. It is on
my
desktop. When it runs, I don't know what IT considers its "explicit"
location. If I move it to any directory, I get the same result - nothing.

I have done everything everybody has suggested. I have done my best to
explain what the results were, and if I tried modifying others' suggestions,
I have tried to explain that.

But thanks, for the first time in decades, I actually feel like I'm a moron.

Kerry Brown said:
read everyone's posts and try following directions. Once it's
working
you can build from there.

Um, I appreciate the advice, but I HAVE been trying to follow directions.
In fact, I will go one step further, and say that I HAVE followed
directions.


Then why haven't you tried it from a cmd prompt, while in the source
directory, with the exclude file in the source directory, with no path
names in the command line other than the destination directory? This will
help to diagnose if it is a path related problem. I suggested this and
your response was:

What do you mean "make sure [I am] explicitly in the directory"? I am
running the batch file FROM the destination laptop...

Then you went off on a tangent about the /EXCLUDE parameter.

I then posted again repeating the instructions and you said you don't know
where the file is. If you don't know where it is how do you copy it in the
first place? If it is a network share then just map a drive to that
share. You seem unable or unwilling to understand and follow
directions.
I'm not trying to put you down. Diagnosing a problem by newsgroup is
frustrating at the best of times. When you keep repeating that you are
following directions when you clearly aren't it is even more frustrating.

Kerry
 
I have never seen this before. Still, we're finally getting somewhere.
Please create a batch file like so:

Line1 @echo off
Line2 echo %date% %time% User=%UserName%, Path=%path% > c:\report.txt
Line3 XCOPY /y "G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM"
/EXCLUDE:"c:\SomeFolder\NOCOPYLIST.TXT" "C:\RECEIVE\" 1>> c:\report.txt
2>c:\report.err
Line4 echo Errorlevel of xcopy.exe=%ErrorLevel
Line5 dir "G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM" >>
c:\report.txt
Line6 dir c:\rec*.* >> c:\report.txt
Line7 dir "c:\SomeFolder\NOCOPYLIST.TXT" >> c:\report.txt
Line8 type "c:\SomeFolder\NOCOPYLIST.TXT" >> c:\report.txt

Instructions:
1. Paste the above lines into your batch file. Do not retype them!
2. Change c:\SomeFolder in lines 3, 7 and 8 to reflect the actual location
of your exclusion list.
3. Remove each and every line number.
4. Save and run this batch file.
5. Paste the contents of c:\report.txt and c:\report.err into your reply.


RJB said:
There is clearly a disconnect.

I have posted this all before.

Or is there something I am missing?

XCOPY /y "G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM"
/EXCLUDE:NOCOPYLIST.TXT "C:\RECEIVE\"

Where NOCOPYLIST.TXT contains:

ABC Jackson.fil
ABC Smith.fil
ABC Alias.fil
ABC Polar.fil


I have also run it with DONTCOPY.TXT in the EXCLUDE command, where
DONTCOPY.TXT contains:
"ABC Jackson.fil"
"ABC Smith.fil"
"ABC Alias.fil"
"ABC Polar.fil"

And also
"G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM\ABC Jackson.fil"
"G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM\ABC Smith.fil"
"G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM\ABC Alias.fil"
"G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM\ABC Polar.fil"

I have also run
XCOPY /y "G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM"
/EXCLUDE:"G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOMNOCOPYLIST.TX
T
" "C:\RECEIVE\"



Pegasus (MVP) said:
As I said before: Post your batch file and your exclude file.


RJB said:
Dude. Check the hostility.

I have confirmed in damn near every thread that I AM running from the
command prompt.

I didn't understand your "explicit" so I asked for clarification.

My ONLY problem is with the /EXCLUDE switch. So it makes sense to me to
focus on that. It is not a tangent. It IS the problem.

Since the paths are correct when the switch is not in there, I am presuming
the paths are STILL correct when it is. I can copy between directories till
my toes curl, what I can't do is exclude a list of files. Which is all I
want to do.

My comment "I don't know where it is" - I have the batch file. It is on
my
desktop. When it runs, I don't know what IT considers its "explicit"
location. If I move it to any directory, I get the same result - nothing.

I have done everything everybody has suggested. I have done my best to
explain what the results were, and if I tried modifying others' suggestions,
I have tried to explain that.

But thanks, for the first time in decades, I actually feel like I'm a moron.

read everyone's posts and try following directions. Once it's
working
you can build from there.

Um, I appreciate the advice, but I HAVE been trying to follow directions.
In fact, I will go one step further, and say that I HAVE followed
directions.


Then why haven't you tried it from a cmd prompt, while in the source
directory, with the exclude file in the source directory, with no path
names in the command line other than the destination directory? This will
help to diagnose if it is a path related problem. I suggested this and
your response was:

What do you mean "make sure [I am] explicitly in the directory"? I am
running the batch file FROM the destination laptop...

Then you went off on a tangent about the /EXCLUDE parameter.

I then posted again repeating the instructions and you said you don't know
where the file is. If you don't know where it is how do you copy it
in
the
first place? If it is a network share then just map a drive to that
share. You seem unable or unwilling to understand and follow
directions.
I'm not trying to put you down. Diagnosing a problem by newsgroup is
frustrating at the best of times. When you keep repeating that you are
following directions when you clearly aren't it is even more frustrating.

Kerry
 
This is the first anyone mentioned moving the batch file itself.

Great day in the morning, I think it's working.


Usually it is simplest to have the script and any associated files
in the source directory. Make a shortcut on your desktop to run the script.
 
RJB said:
This is the first anyone mentioned moving the batch file itself.

Great day in the morning, I think it's working.


Usually it is simplest to have the script and any associated files
in the source directory. Make a shortcut on your desktop to run the
script.

They don't have to be there. I usually set up a directory just for scripts
and their associated files. When debugging it's easier to have everything in
the source directory until you get it working. Once it's working you can
move things around and edit the path to reflect the new locations.

Kerry
 
2 New catches.

With the .bat in the source directory, it ran fine.

With a shortcut moved to the remote (destination) computer, I get

'\\RJBDESKTOP\SHAREDDOCS\MAILROOM'
CMD.EXE was started with the above path as the current directroy.
UNC paths are not supported. Defaulting to Windows directory.
------

Also, if I go back to running it from the source directory, we were cool
with excluding ONE file.

When I add the whole list, it only excludes the file from the FIRST line of
nocopy.txt.

Do I need to do a separate file for each? i.e., nocopyABC.txt,
nocopyDEF.txt,

and then

/EXCLUDE:nocopyABC.txt[nocopyDEF.txt]

?
 
RJB said:
2 New catches.

With the .bat in the source directory, it ran fine.

With a shortcut moved to the remote (destination) computer, I get

'\\RJBDESKTOP\SHAREDDOCS\MAILROOM'
CMD.EXE was started with the above path as the current directroy.
UNC paths are not supported. Defaulting to Windows directory.
------

Put this in the top of the batch file (will map a temporary drive
letter to the path where the batch file is located, and make it
current directory):

pushd "%~dp0"


Put this at the bottom of the batch file:

popd

Also, if I go back to running it from the source directory, we were cool
with excluding ONE file.

When I add the whole list, it only excludes the file from the FIRST line of
nocopy.txt.

Do I need to do a separate file for each? i.e., nocopyABC.txt,
nocopyDEF.txt,

and then

/EXCLUDE:nocopyABC.txt[nocopyDEF.txt]


If I put several file names in the NOCOPYLIST.TXT file (each name on
it's own line), they are all excluded from the copying, so no, you do
not need separate files for each file name.
 
RJB said:
2 New catches.

With the .bat in the source directory, it ran fine.

With a shortcut moved to the remote (destination) computer, I get

'\\RJBDESKTOP\SHAREDDOCS\MAILROOM'
CMD.EXE was started with the above path as the current directroy.
UNC paths are not supported. Defaulting to Windows directory.
------

You will need to map a drive to the share.
Also, if I go back to running it from the source directory, we were cool
with excluding ONE file.

When I add the whole list, it only excludes the file from the FIRST line
of nocopy.txt.

Do I need to do a separate file for each? i.e., nocopyABC.txt,
nocopyDEF.txt,

and then

/EXCLUDE:nocopyABC.txt[nocopyDEF.txt]

?

Please post the contents of nocopy.txt

Kerry
 
Inline
Is the /EXCLUDE maybe something that's broken? Is XCOPY a "command" or a
"program" that I can reinstall?

I have been running mostly from command instead of batch, for reasons I
posted somewhere else in a fit of confusion.

Your Suggestion 1: Are you suggesting that I should have an entire line in
my DONTCOPY.TXT that is simply

ABC

and that will automatically wildcard it?

Yes, ANY FILE in the source directory containing ABC in the filename
will not be copied.
Your suggestions 3: Are you suggesting I move my exclude file to say,
"c:\DONTCOPY.TXT"?

For whatever reason "path length", "mapping" or whatever the file is not
being read/found where it is. So
I am suggesting you place it in root of C: and make

/EXCLUDE:C:\DONTCOPY.txt

So as to ensure it is where it can be accessed.

I want to be sure I understand the logic of what we're doing:
I have a subdirectory called "MAILROOM".
It is on my desktop machine "RJBDESKTOP".
MAILROOM contains a bunch of files. Several of them change daily (let's call
them the "Penske Files"), and some are specific to and must be resident on
the host machine (the "ABC" files). Sometimes I am working from my laptop,
sometimes at my desktop.
I would like to have access to the Penske files whilst on the road and
gotomypc is unavailable.
So, I want to XCOPY MAILROOM from my desktop to my laptop.
That will copy the entire contents, subdirectories and all, from MAILROOM to
my laptop.
It is OK if desktop Penske Files overwrite laptop Penske Files.
So I put the /y switch in, to say "[Y]es, please overwrite"
But I specifically don't want the ABC files to copy. Because I DON'T want
the desktop ABC files to overwrite the laptop ABC files.
So I launched notepad.exe
And I typed the name of each ABC file, one per line.
And I saved it as NOCOPYLIST.TXT
So I want to EXCLUDE NOCOPYLIST.TXT from the XCOPY
And the command for that is /EXCLUDE:NOCOPYLIST.TXT

So the overriding command is
XCOPY /y "G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM"
/EXCLUDE:NOCOPYLIST.TXT "C:\RECEIVE\"


So now "DONTCOPY.TXT" contains 2 lines

ABC
Penske

Then finally try using this format(altho switch order shouldn't matter).

XCOPY source destination /Y /EXCLUDE

So the comand would look like this

XCOPY G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM\*.*
C:\RECEIVE\*.* /Y /EXCLUDE:C:\DONTCOPY.TXT

result will be NO "ABC*.*" or "*Penske*.*" files appearing at the
destination.


Again, I get the error message "Can't read file: "NOCOPYLIST.TXT""
If I run
XCOPY /y "G:\LEDBER\USERS\OPERATIONS\RJ_doe\SHAREDDOCS\MAILROOM"
"C:\RECEIVE\"
The ABC and Penske files do indeed copy.



Messing around I discovered that
1. * or "wildcards" are not read as wildcards. Everything in the string is
literal.
2. Was unsuccessful at reproducing the Can't read file" error.

Suggest
1. Using just ABC as the criteria in the DONTCOPY.TXT file.
2. Try running from the command line rather than batch file till it works.
3. Try using shorter path or local drive for the exclude file.

RJB wrote:

Done that.

Done it three ways:

1) Listing each file on its own line
2) Listing each file, with its full path, on its own line
3) (What I'd prefer) Going back to my original examples, "ABC*.fil".

(Now, granted, they are not literally "ABC Jackson.fil" etc., but the
file names DO include proprietary information, and I can't post the
actual file names here. Suffice to say they all are the same extensions,
and the ones I wish to exclude ALL begin with the same three letters!)

And, to be avoid typos, I am highlighting the file, choosing Properties,
highlighting the file's name, COPYing it, and PASTEing it into the
Notepad file!

If I delete the /EXCLUDE switch, the whole subdirectory copies, so I know
my path is correct.

I continue to get "Can't read file:" \\G:\LEDBER\USERS\OPERATIONS\RJ_(My
last name)\SHAREDDOCS\MAILROOM\nocopylist.txt"" <=(I created a new
Notepad file and called it nocopylist.txt) (And for the rock and roll
grammar patrol folks, I KNOW I shouldn't put double-quotes inside double
quotes, but I sure don't want anyone to get bogged down if I used single
quotes!)

"Can't read file"

I believe my commands are correct... It's the "Can't read file"
nonsense....






Plain and simple. The "FILE"(dontcopy.txt) placed after /EXCLUDE MUST BE
A PLAIN TEXT FILE. Open NOTEPAD and put in the contents. The file types
called out or listed in "dontcopy.txt" can be any type of file there ever
was including unknown types because the only thing that is READ is the
"dontcopy.txt" file and it MUST BE plain text and ONE entry per line. If
you are using word or wordpad or wordperfect to make the exclude file,
DON'T. Use NOTEPAD and ONLY NOTEPAD. Remember XCOPY reads the file
containing the list of files to be excluded. If it's NOT PLAIN TEXT, it's
not going to work.

RJB wrote:



OK, I know you're trying to be helpful, but it's getting kind of tough.

Trust me that I have spent hours - in batch file and just typing
commands in at the command prompt - and no matter what I do, I am
getting the "can't read" message.

I am running in command prompt for two reasons: one is, I am tired of
opening the file, typing it, and saving it, when I can just run directly
in cmd.exe. Second, I don't get error messages when I run the batch. It
either works or it doesn't, and then the batch file closes. At least
when I run cmd.exe, I can read each error message as I go.

I HAVE shown you the exact command I am attempting to run, to the best
of my ability. Since I have no way of copying from the command prompt to
my web browser, I must retype the commands. I am sorry for the few typos
in the translation. And, I have discovered that if I post in newsgroups
directly, my spell check has flubbed some things as well.


From what I have found in xcopy /?, it tells me that the /EXCLUDE switch

should work with ANY file, not just text files.

If it could be solved in less than a minute, it would have been. I am
sorry if turning to Microsoft help is not the answer. It was my first
line of defense.

I have tried to answer every single question you have asked as carefuly
and as completely as possible. Again, my apologies for not being able to
anticipate the unasked and give you full open kimono.

The only difference between what I have continually typed and what is on
my command prompt is that \\SOURCEPATH\SHAREDDOCS\ is actually
G:\\LEDBER\USERS\OPERATIONS\RJ_(My last name)\SHAREDDOCS\ and I didn't
really feel it was necessary to type that over and over again, when I
presumed we could understand \\SOURCEPATH\

I do appreciate your trying to help. I have tried everything you have
said, along with every other permutation I could think of.

**** No matter what I do, I get "Can't read file."

It ain't trivial to me.





This is a curious thread in that we keep running into two types
of problems:
- You quote generic commands that have some character
misplaced (first a colon, then a double quote), and then
you say that this was not the real command anyway.
- In spite of several encouragements, you never show us the
real command you're using.

Your latest reply is no exception: Again you do not show us what
you've done - you only report the problems.

I might add that your task is utterly trivial. I can be solved in less
than a minute by someone who pays attention to standard batch
file conventions.

Unless you agree to show us what you have written (i.e. the
verbatim contents of your batch file plus the contents of your
"exclude" file), I will stop responding in this thread. Its length
is badly out of proportion with the triviality of the problem.
There is nothing sophisticated about it!






Thanks. The .bmp attempt was to test if the exclude command was
working,

and



something was wrong with the .txt file setup.

(I thought if I excluded ONE file, then I would prove that /EXCLUDE
was
working... And the .txt file was the problem. I didn't realize EXCLUDE

MUST



be a .txt file... I thought that was only to exclude a series of
files...
For just one file of any kind, I presumed you could exclude that. Do
you
understand what I was trying?)

As you can see from my first line in this reply, I am still getting
the
error... "Can't read file".

And the quotes were quotes meaning, "Hey, everything between the
quotes is
what I typed for a command". I thought I only needed quotation marks
on

the



actual command line if I was using the 'long' file and path names from
Windows rather than the traditional DOS-tastic 8 character path name.

So I am still where I started.

(And I don't want to copy everything and delete. Eventually, there
will be
files in the source and destination directories that are different,
but

will



have the same name! THOSE are the very files I need to exclude from

copying!



I think what I may do is:

MOVE \\SOURCE\Files_to_exclude.* \\SOURCE\NEWSUBDIR
Copy \\SOURCE\*.*
MOVE \\SOURCE\NEWSUBDIR\Files_to_exclude.* \\SOURCE

and call it a day!







You need to be a little more careful with your code, especially
if you want to do "Sophisticated copying" (your Subject line).
I wrote this:

/EXCLUDE:"\\SourceDrive\ShareDocs\dontcopy.txt"
"/EXCLUDE:\\Sourcedrive\Shareddocs\Mailroom\grace.bmp"

There are two obvious problems with your code:
- You shifted the first quote to the beginning of the line. Makes no

sense



whatsoever!
- You quote a .bmp file after the exclude switch. On several previous
occasions in this thread it was pointed out that the file after the
/exclude switch must be a text file containing a list of files to be
excluded. It cannot be a .bmp file!





STILL a "Can't read file

\\SOURCEDRIVE\Shareddocs\Mailroom\dontcopy.txt"



I know the "path" is OK, because if I exclude the "/EXCLUDE:" line,
it
copies everything.

Also, I tried the line with an
"/EXCLUDE:\\Sourcedrive\Shareddocs\Mailroom\grace.bmp" - a picture
of

my



dog - and still got the "Can't read file ...grace.bmp"

So, it appears to be something it's not liking about "Exclude"?

Arggggghhhhh!









With your "path" command you wrecked your existing path! The
correct way would be to type this:

path %path%;\\SourceDrive\ShareDocs.

However . . . adding SourceDrive\ShareDocs to the path makes no
sense, because SourceDrive\ShareDocs contains no executable
programs. The path is used to locate executable programs, not data
files.

Here is what you should type:

xcopy /y "\\SOURCEDRIVE\SHAREDDOCS\MAILROOM"
/EXCLUDE:"\\SourceDrive\ShareDocs\dontcopy.txt" "C:\RECEIVE\"

This is all one long line. Note the "/y" switch, the trailing

backslash



after "c:\Receive\", and the sets of double quotes. Depending on
your actual names, they could be essential.





I added
PATH \\SOURCEDRIVE\SHAREDDOCS

And now get
'xcopy' is not recognized as an internal or external command,
operable program or batch file

I guess I should have added %PATH% \\SOURCEDRIVE\SHAREDDOCS?

btw, here is the full command in my batch file:

XCOPY \\SOURCEDRIVE\SHAREDDOCS\MAILROOM /EXCLUDE:dontcopy.txt

C:\RECEIVE



My goal is to take all of the files (save the five listed in
"dontcopy.txt"!) and copy them from a subdirectory called
"Mailroom"
on
my
server to a subdirectory called "Receive" on my laptop.

(The file "dontcopy.txt" is in \\SOURCEDRIVE\SHAREDDOCS\MAILROOM)


Thanks,




From the help


" /EXCLUDE:file1[+file2][+file3]...
Specifies a list of files containing strings. Each string should

be



in



a



separate line in the files. When any of the strings match any

part



of



the



absolute path of the file to be copied, that file will be
excluded

from



being copied. For example, specifying a string like \obj\ or
.obj

will



exclude all files underneath the directory obj or all files with

the



.obj



extension respectively."

So
/EXCLUDE:dontcopy.txt
NOT
/EXCLUDE dontcopy.txt

Since where you put the file resulted in "can't read xxx", I

suggest



putting "dontcopy.txt" in a directory that is listed in the PATH

listing.



RJB wrote:




It's all listed in the screens above

The donotcopy.txt contains a list - one per line - of each

exclded



file.



The long and short is

xcopy \\destinationpath\subdir /EXCLUDE donotcopy.txt
\\receivingpath\subdirectory









Let's see your precise command, and the contents of the
exclude file.






I've tried every permutation I can think of, and the results I

get



are:



Can't read file: XXX

0 File(s) copied

(where XXX is whatever file comes after the "/exclude:"
switch.

The "donotcopy.txt" file is in the SOURCE directory, correct?

Also, if I just try to exclude file(s) by name - a la

/EXCLUDE:ABC*.fil,



I
get the same result...
Can't read file: ABC*.fil

0 File(s) copied

What the heck is going on???



:





BINGO! We have a Winner! :-) :-)

RJB wrote:





At the risk of being redundantly monotonous and obtuse:

1) Create a notepad file
2) In the file, type:
ABC Jackson.fil
ABC Smith.fil
ABC Alias.fil
ABC Lost.fil
ABC Polar.fil
3) Save it as "filelist.txt"
4) In the xcopy command,
XCOPY \\PATH\SOURCE_SUBDIRECTORY /EXCLUDE filelist.txt
\\PATH\TARGET_SUBDIRECTORY /d /h /p /r /u /k /y

Close?


:






Inline,

RJB wrote:






Yeah, I gotta say, Pegasus, your solution gives me an ice
cream

headache.




I still don't know if I get the "file listing" info...

From your initial post, it seems as if I am creating a

file -



called



"file1"




- and in that file it includes a list of excluded files.

CORRECT






But I probably just want to do
/EXCLUDE ABC*.fil

Wrong, should be like this

XCOPY /EXCLUDE FILELIST.TXT

FILELIST.TXT contents are ABC*.fil
one entry per line, you may have to experiment with it a
bit.






Which is what your most recent post says. Right?

nope.





Anyway, I think I have enough info to experiment with.

Thanks,
 
Since you are a petulant little 'tard, let me explain my problem using small
words.

There are files I do not want to copy.

Which is a different problem from "files I don't want to have".

Your solution solves the latter. Not the former.

So your solution is not the best.
 
guestfromhell said:
no, since your am idiot, let me explain it in even smaller words:

He wants to copy set of files A, of which he doest want subset B.

Your solution : Complex copy command that uses obscure switch , does
it in one command.

My solution: copy everything to a temp directory. Delete the ones you
dont want with a wildcard. Copy remaining wanted files to destination.
3 simple commands, no bolloxing about with obscure switches.

Its you thats the problem here,. your trying to come up with a
smartass ' ooo look at me i can write a one line program to do this',
when in fact it doesnt matter how many lines you do it in. Im a project
manager, dumb****, and the basic principle in project management is to
reduce a complex task down int osimple steps, its much easier, and less
likely to go wrong q.v the utter confusion your compelx smartass one
line command has caused this poor guy.

Your an elitist , arrogant smartass, and you wouldnt last 5 minutes in
IT support in the UK.

Both solutions work. Yours may fail because of insufficient disk space. The
other way may fail because the command is very complicated so it's hard to
make changes. In a real life situation a proper script would include all
sorts of error checking. The point of the thread was to learn something new
which is always a good thing. The only stupid question is the one that isn't
asked. It can be very frustrating for both sides trying to learn or explain
something via a newsgroup. No reason to get personal.

Kerry
 
guestfromhell said:
I only retaliate when i am insulted, if you check you will find this
other guy resorted to calling me a 'retard', which was entirely
uncalled for. If you start it, you'll get back as good as you give.

Do you see me insulting anyone else on this forum who didnt get
offensive first?

You don't quote any of the original in your replies and the post you replied
to doesn't call you a retard so it's hard to tell. If the other person gets
personal first then I would probably flame them as well.

Kerry
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top