Solved

using xcopy and \exclude

Posted on 2004-09-19
3
3,519 Views
Last Modified: 2009-07-29
well i thought this was working but i just saw a bunch of files from 'system volume information' scrolling across my screen as they copied so i guess not.  i saw a thread that seems to imply i need to use 8.3 style folder names but i saw a reference on the ms site saying it will use an absolute reference for a folder.  altho i would like to use relative names so this will work on any drive.

i have a batch file that is copying my c: drive to another drive for temporary backup.  i have created an exclude list of things to NOT copy.  it seems the exclude is having problems.  any ideas on what i am doing wrong?  thanks.  jim

*************************
bakc is in c:\bin   so is xf.txt

bakc.bat  -->>  xcopy c:\* n:\NewFolderc\   /e /s /y /d /c /i /h /exclude:xf.txt

xf.txt (below)
zgpt*
\recycler
\windows
\winxp
\temp
"\system volume information"
"system volume information"
pagefile.sys
hyb*.sys
\wutemp\
\i386
0
Comment
Question by:jsturtz
3 Comments
 
LVL 19

Expert Comment

by:mrwad99
ID: 12096756
A few points I noticed:

You have the switches: /e /s

  /S           Copies directories and subdirectories except empty ones.
  /E           Copies directories and subdirectories, including empty ones.

Now, one or the other is best here, but not both :)

Also /D

  /D:m-d-y     Copies files changed on or after the specified date.
               If no date is given, copies only those files whose
               source time is newer than the destination time.

I don't think you need this really.

>> "\system volume information"

Should be

"\system volume information\"

("/EXCLUDE:file1[+file2][+file3]...
               Specifies a list of files containing strings.  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."

Those changes should bring some improvement.

HTT
0
 
LVL 3

Accepted Solution

by:
cupawntae earned 250 total points
ID: 12097847
You have two main problems here:

1 - the strings are not wildcard patterns so hib*.sys is not going to work - you'll need to mention each file by name for this kind of pattern. For the simpler "something beginning with xxxx" pattern, just leave out the '*' - take zgpt* for example: the line should simply be:

zgpt

(no '*')

2 (and this is the important one) - you don't need (and shouldn't use) quotes - so "\system volume information" should be:

\System Volume Information

(no quotes). You can put in the second backslash as suggested above but all this will do is make sure it doesn't accidentally exclude files called something like "\mydir\system volume informations" - this won't solve your problem.

Basically for each exclude to work, the string has to be part of the full filename, verbatim...

Hope that helps,

CupawnTae
0
 
LVL 1

Author Comment

by:jsturtz
ID: 12125965
mrwad99
i tried using "\system volume information\" twice, as opposed to CupawnTae's suggestion of \System Volume Information.  the quotes marks interfere with the exclusion.

i again tried the /d option and confirmed my reasoning for it.  w/o the /d the entire directory is copied over everytime one uses xcopy, with the /d then only changed stuff since last time get copied.  that is the behavior i am looking for.

thanks to both of you for your replies.

give the points to CupawnTae
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Specific format 21 196
mapBully challenge 6 127
C# code editing and collaboration 3 110
MacOS and programming in React 7 34
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Does the idea of dealing with bits scare or confuse you? Does it seem like a waste of time in an age where we all have terabytes of storage? If so, you're missing out on one of the core tools in every professional programmer's toolbox. Learn how to …
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

776 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