XXCOPY
[ Back to Table of Contents ] [ << ] [ >> ]

XXCOPY TECHNICAL BULLETIN #36


From:    Kan Yabumoto           tech@xxcopy.com
To:      XXCOPY user
Subject: Norton Ghost and XXCOPY
Date:    2002-03-01 (Original Edition)    2010-03-18 (Addendum added)
===============================================================================

This technical bulletin is based on the article that I wrote for
BootLIST.Com (www.bootdisk.com/bootlist/005.htm) in February, 2002.

************************************
  What is XXCOPY really all about?
************************************


By Kan Yabumoto    <tech@xxcopy.com>      2002-02-07
                   ©2002 Copyright  Kan Yabumoto


Hello, Everyone.  My name is Kan Yabumoto.  I'm the author
of the XXCOPY software.  It is a great honor to be invited
to this new exciting newsletter for an article.  The subject
is of course, XXCOPY.  Its home page is

    http://www.xxcopy.com

Rather than boring you all to the death by parading the
myriad of features in XXCOPY, I would like to pick a few
topics and give you my side of the story.

I've been using a lot of software products just like you,
and I seldom come into contact with the author of the program.
So, let me make myself available to you and discuss the
product's history, the primary goal, and the near-term and
long-term road map of XXCOPY development.  Also, I would like
to brag about a feature in XXCOPY that I'm most proud of.

After all, XXCOPY is just a file-copy utility.  In order for
XXCOPY to stand out from the crowd in the competition,  it has
to offer to the user something unique.  We wanted to make
XXCOPY irresistible to those who give it a try.

Many of you must have come to know XXCOPY for a particular
purpose.  I hope you found it useful for what you had in mind.
But, chances are, you are still wondering why XXCOPY is so
often talked about in various newsgroups lately.

From my point of view, many favorable comments about XXCOPY
by others are often picking just one of the many virtues of
XXCOPY.  By observing the newsgroups at the sideline, I
often find myself frustrated by the fact people talk about
the relatively "minor" features of the tool.  The real
power of XXCOPY seems to be largely untapped by most users.

So, here I am, trying to de-mystify the tool and set the
record straight.  What is XXCOPY all about?


1. Brief history of XXCOPY

  XXCOPY debuted in the Internet as a freeware in November,
  1999.  But its predecessor, DCOPY (and DCOPY32) was born
  around 1994.  It has been a bundled utility program in
  our DATMAN package (DATMAN makes a tape drive behave like
  a disk.  Visit http://www.datman.com for details).  Its
  modest goal was to circumvent the problem of Microsoft's
  XCOPY which often got stuck in a script (batch file) when
  files are transferred to a NetWare file server for backup.

  The file-sharing problem in a multi-tasking and networking
  environment has always been a common headache. The problem
  will be with us forever.  When a file is exclusively opened
  by one program, the next program which attempts to access
  it has no choice but to let the first program be done with it.
  The trouble with Microsoft's XCOPY was that it gave the
  user the infamous "R(etry) or A(bort)" choice --- you either
  try it again which usually gets you nowhere, or abort the
  whole backup operation.  But worst of all, the situation
  makes the batch script sit there idle (Microsoft later
  added the much-needed third, F(ail) option in the prompt
  along with the /C switch to prevent a failed copy from
  ruining the rest of the backup operation).  DCOPY had that
  capability long before Microsoft corrected its XCOPY.

  We always listen to the users.  Later, we found ourselves
  adding many more backup-related features to DCOPY.  But,
  after many more switches were added, one key principle
  remains the same: the latest XXCOPY's command line syntax
  is still compatible with Microsoft's XCOPY.

  When we released XXCOPY to the general public in late 1999,
  our motivation was to provide something for free in the
  Internet to attract more traffic to our main DATMAN.COM
  web site.  We gave it the new name, XXCOPY which correctly
  characterizes the nature of the product; the behavior stays
  very close to that of XCOPY.  This makes the user's first
  experience with XXCOPY relatively painless, provided that
  he already knows Microsoft's XCOPY fairly well.

2. XXCOPY for cloning the Win9x system disk.

  Soon after the XXCOPY freeware version became more widely
  circulated, a few people discovered its usefulness in
  duplicating the Windows 9x system disk.  I'm not sure
  exactly who mentioned this usage first.  At various
  newsgroups, XXCOPY was recommended to others for disk
  cloning purposes.  At that time, many people were using
  Microsoft's XCOPY for this.  We still see plenty of
  users run the following command for this purpose.

    XCOPY  C:\  D:\  /h /e /k /r /y

  Being compatible with XCOPY, XXCOPY can be run using
  exactly the same combination of switches

    XXCOPY C:\  D:\  /h /e /k /r /y

  But, I was recommending an improved variation,

    XXCOPY C:\  D:\  /ks /h /e /r /q /y /bi /zy

  In order to help memorize this long combination, I
  came up with the following mnemonic for it;
  "Kiss Her Quick, Yes, But I'm busy."  But, it requires
  photographic memory.  So, I devised a shortcut switch
  in XXCOPY that is a direct substitution of the longer
  combination. That is how the /CLONE switch came to life.

  Now, the command is much easier to remember.

    XXCOPY C:\  D:\  /CLONE

  Of course, we could have advocated a batch file to achieve
  the similar goal.  But, this shortest form as a built-in
  switch was an instant success.  Then, I wrote a special
  manual with step-by-step instructions for this operation.

    http://www.xxcopy.com/xxtb_010.htm

  If you help others by mentioning the /CLONE switch for
  duplicating the Win9x system disk, I hope you also add
  this pointer in your advice so that the new user will not
  have to wonder "What's next?"  after he runs the /CLONE
  operation and still does not have a bootable disk.
  The MBR, the boot sectors, etc. must be properly
  initialized in order to have a bootable system disk.

  Now, you know why we did not develop XXCOPY for disk clone
  operations.  Nor was the very /CLONE operation specifically
  designed for cloning!  It is simply a natural consequence
  of making a versatile tool for many purposes.  The /CLONE
  switch remains a mere convenience feature in XXCOPY to
  ease the typing and memorizing.

3. Ghost, DriveImage and XXCOPY

  The /CLONE switch made XXCOPY a free alternative to
  Norton Ghost and PowerQuest's DriveImage.  I have great
  respect for both of these products.  In newsgroups, we find
  so many people asking the same question over and over
  again.  Here's a typical thread:

  Q: I just bought a 20GB hard disk and I want to replace my
     Win98 system disk with the new one.  Tell me how?

  A: Most hard disks come with a utility to do just that.
     Otherwise, buy Ghost or DriveImage, or try freeware XXCOPY.

  Some people adamantly suggest Norton Ghost.  Not only do they
  recommend it for the one-time system cloning operation, they
  also advocate the use of Ghost for daily/weekly backup.  That
  is fine.  But, many say they chose XXCOPY and they are happy
  with it.  After all, when you buy a $90 disk, would you spend
  an additional $50 just for this one-time operation?

    ---------------------------------------------------------
     I hear the Ghost software that one bought two years ago
     cannot do well in cloning the XP disk.  Thus, the $50
     price tag is not a one-time investment for a good tool,
     but rather a recurring expense like an annual
     subscription.  I suspect many Ghost advocates are a
     professional system integrator or consultant who buy
     Ghost as his tool for everyday work.  But they must
     not forget that they are talking to one-time users.
    ---------------------------------------------------------

  XXCOPY works great for this purpose.  It works better
  than the XCOPY method by not taking chances with the short
  filename (SFN) (see http://www.xxcopy.com/xxcopy03.htm
  for detail).  XXCOPY preserves the SFN when files are copied
  using the long filename (LFN), whereas most other programs
  (including Microsoft's tools) neglect this aspect.

  XXCOPY's /CLONE command can be used for subsequent daily
  backup without any change (by leaving the old disk in D:
  as a backup drive after the disk swap).  The incremental
  backup will run much faster than Ghost or DriveImage for
  this purpose.  Moreover, in a relatively rare instance of
  either of the disks (original or the newly cloned one)
  having a bad sector, a disk imaging software such as Ghost
  usually cannot handle the bad sector unless the two drives
  have bad sectors in exactly the same positions.

  It is quite amazing that both approaches work.  It's like
  traveling from New York to New Delhi, via Hawaii or via
  Europe.  We fly to totally opposite directions at first.
  In the middle, we are thousands of miles apart.  Yet, we
  arrive at the same goal.

  Am I saying XXCOPY is better than Ghost or DriveImage?  No.
  I say it is just plain silly to compare apples and oranges.
  But, since it continues to be a hot issue, let me briefly
  give my advice to the disk cloning issue once and for all.

  My answer to the Win9x/ME disk clone question:
  -------------------------------------------------------------
   Try XXCOPY Freeware first (be sure to read the XXTB #10).
   If it fails, use Ghost or DriveImage that fits your budget.
 -------------------------------------------------------------

  Honestly, I shouldn't waste my energy on this small issue.
  XXCOPY has never been designed for and will never be made
  for disk imaging.  It happens to work great when one
  wants to make a bootable system disk for Win9x/ME.

  As of this writing, we do not have a similar recipe for
  making a bootable WinNT/2K/XP disk using only XXCOPY.

4. XXCOPY - More Than A One-Trick-Pony.

  When you have done your first /CLONE job with XXCOPY
  and you are happy with it, XXCOPY is not finished yet.
  It has just demonstrated its versatility in one of the
  many things that it is capable of.  Let me emphasize it:

    XXCOPY is not a one-trick-pony, not just for /CLONE.

  When you run XXCOPY /HELP for the first time to obtain the
  help text, the sheer volume will probably overwhelm you.
  The good news is, you need not learn them all at once.
  Take time.  Learn one feature at a time and use it
  repeatedly and explore some more.

  Here is a non-exhaustive list of what those switches do.

   a. select files by filetime, size, attributes, etc.

   b. specify exclusion pattern (files and directories)
      specify inclusion pattern (filename patterns only)

   c. create log file and name-list file.

   d. modify behaviors of all the above and much more...

  In essence, the great majority of file management activities
  you want to carry out are probably supported by XXCOPY already.
  But you need to find out which switch to use and that can be
  difficult.  My favorite reference page for that is:

    http://www.xxcopy.com/xxcopy27.htm

  This page deliberately avoids the alphabetical order; instead,
  the listing is ordered by the functionality of the switches.
  It is even more useful as an overview of all the available
  switches using the functional classification in mastering the
  galaxy of XXCOPY command switches.  I highly recommend it.

  Let me conclude this section with some more examples:

   xxcopy \src\ \dst\ /da#10      // files modified within 10 days
   xxcopy \src\ \dst\ /da:2002-2  // files modified after Feb 2002.
   xxcopy \src\ \dst\ /sz:-100m   // files up to 100 MB long
   xxcopy \src\ \dst\ /ats        // files with system attribute
   xxcopy \src\ \dst\ /x*.tmp     // exclude files that end by .TMP

  Rather than showing all of the 200+ switches, I let your
  educated guess extend this short list to what kind of cases
  the other 200+ switches might do for you.

5. The feature in XXCOPY that I'm most proud of.

  If there is a defining feature in XXCOPY, this is it. 
  The feature called "Wild-Wildcard" is the crown jewel of
  the program.  It opens up new ways to look at the files
  and directories.  Forgive my complacency here, but I want
  you to feel my enthusiasm for it and learn the feature.

  From the user's point of view, the Wild-wildcard feature
  allows you to place as many wildcard characters and at
  any position in the source specifier.  It's quite elegant.

  Programming this feature was a little hard.  Then, handling
  the exclusion items with wildcards made it more difficult.
  Now, to implement all this with a great execution efficiency,
  was the most challenging experience in the entire project.
  But, inventing this type of unique and powerful feature
  brings joy to the programming profession.

  Here's an example of that.

    xxcopy c:\micro*\*\cache*\*\*.jpg  d:\myimages\

  If you know what "*" does to a filespec at the end of a
  fully spelled-out path, you can reasonably guess what it
  does when it appears in the middle of a multi-level pathspec.

  If you are confused and prefer not to know it, that is fine.
  You can use XXCOPY without knowing anything about this feature.
  On the other hand, if you are intrigued by it, let me briefly
  explain.  It's a liberal application of wildcards ( * and ?).

  One way to look at this is to view the feature as an extension
  of the /S switch.  See the difference of the following lines:

    xxcopy c:\mydir\myfile.*      // one directory level
    xxcopy c:\mydir\myfile.* /s   // multi-level subdirectories

  Most XCOPY users are quite familiar with the /S switch that
  allows the file pattern (myfile.*) to appear anywhere inside
  the subdirectories under the c:\mydir\ directory.  The
  file may appear immediately inside the c:\mydir\ directory
  or it may be in second, third or any level of subdirectory.

  Now, we introduce a new notation to denote the effect of /S:

    xxcopy c:\mydir\myfile.*   /s   // multi-level subdirs
    xxcopy c:\mydir\*\myfile.*      // equivalent to the above

  When it has the single-star (..\*\..) sequence, it signifies
  that the item(s) at the right hand side can be at any level of
  subdirectory.  The two command lines behave exactly the same.

  Once we agree upon how the sequence works when it is placed
  immediately left to the filename pattern, we can shift the
  occurrence of the single-star sequence to any other place.
  In short, this notation lets you apply the mechanics of /S on
  the subdirectory level other than the lowest (rightmost) level.

    xxcopy c:\mydir\*\xyz\myfile.*  // the /S switch can't do this

  Another innovation in the wild-wildcard feature is to allow
  wildcards (both * and ?) to appear for any number of times.

    xxcopy c:\*\*dir\*\xyz?\*\myfile.*    // can really go wild.

  So, let us wrap up this section with one more example:

    xxcopy c:\abc\*\xyz\*.jpg

  The xyz subdirectory can be anywhere under c:\abc;

    c:\abc\xyz\john.jpg
    c:\abc\def\xyz\paul.jpg
    c:\abc\def\ghi\xyz\john.jpg

  All the above are selected with c:\abc\*\xyz\*.jpg

6. A One-Liner Batch File for You.

  Who in their right mind need to go wild with the Wild-Wildcard?

  You seldom need to go very wild in filespec.  But, the ultimate
  flexibility in XXCOPY becomes very handy when you look for
  something in your disk.  Since you don't want to remember
  the XXCOPY switches that work best for file searches, a batch
  file really makes your life easier.

  Here is my favorite batch file:

    where.bat
   -----------------------------------------------------
    xxcopy /lzdl/s/h %1 %2 %3 %4 %5 %6 %7 %8 %9
   -----------------------------------------------------

   It is a file-finder script.  It often works best with a
   pathname that starts with the root (but need not to).
   With this batch file, I sometimes go quite wild.
   You may add any "adjective" using the xxcopy switches

    examples:

    where \windows\*\cache*\   // list all in cache dirs
    where \*\temp*\  /sz:0     // zero-byte files in temp dirs
    where \          /da#10m   // made in the past 10 min
    where \mydir\ \ref\   /u   // files common in both dirs

   This simple batch script exemplifies the flexibility of
   XXCOPY by allowing many ways to select files.  For instance,
   the fourth example above shows off some nifty combination.

7. XXCOPY Road Map, Near-term and long term.

  Lately, I started to realize a disturbing fact in XXCOPY's
  user community.  I enjoy relating my experience in early
  days of CP/M, MS-DOS and so on with XXCOPY users who reminisce
  their stories with me.  But I suspect that the average age
  of the XXCOPY users is higher than that of the whole computer
  professionals (I'm afraid the same is true to BootDisk.Com)!

  We often hear from people at IT departments' supervising
  positions saying their young system administrators prefer
  clicking the mouse button a few thousand times to taking the
  time and edit a five-line batch file.  Sadly, it may be true.

  If we continue the command line-only design, XXCOPY will
  repeat the demise of the dinosaurs.  We have no illusion.
  So, Graphical User Interface (GUI) is the future of XXCOPY.

  In the near term, a simplistic GUI-based program will satisfy
  novice users' need for XXCOPY.  Since it will omit most
  advanced features, this product can be finished first.

  We also want to introduce a GUI application which helps the
  user find the right switches for file management operations.
  Since it presents nearly all XXCOPY switches in a well-
  organized fashion, it takes longer to develop; hence, it
  will be released at a later date.

  In the past, we have been contacted by a few individuals
  who wanted to develop a GUI-based front end program which
  runs side by side with the XXCOPY program.  We welcome
  initiatives from interested parties who might work with us
  for a loose, non-exclusive partnership.

8. Conclusion for now.

  In conclusion, I try to make XXCOPY a worthwhile program
  for nearly everybody who is eager to learn its rich set of
  file management operations.  My publicly stated goal for
  this program is:  One day, XXCOPY will be called

    The Undisputed King of the File Management Utilities.

  Lastly, I hope this will not be my last time in this
  newsletter.  If you have questions, please send me your
  comments to bootdisk@xxcopy.com.  I will respond to you in
  my next appearance here (whatever name you use in the
  Email (but not your Email address) will appear in it).

  Alternatively, you may post your question to the XXCOPY
  discussion group, or join the group and/or subscribe the
  Email delivery of the messages.

  To post your message, send Email to: xxcopy@yahoogroups.com
  To subscribe the messages: xxcopy-subscribe@yahoogroups.com

  It is a Yahoo-sponsored group (with some ads), and a great
  place to meet other XXCOPY users who are quite eager to
  help newbies with their experience.  I will also post my
  message there when a clarification is needed.  It is also
  the place where announcements about XXCOPY are made.  For
  example, a new XXCOPY beta version is always announced in
  the discussion group, first.  You can post your suggestion
  for a new feature there.  It's like a Usenet newsgroup
  specialized in XXCOPY except responses usually arrive much
  more quickly.  The archived messages (> 1500) are a gold mine
  to retrieve past messages using the keyword search.

  So, please join the "XXCOPY Revolution".

Kan Yabumoto
Naperville, Illinois.


[Addendum] added on 2010-03-18

  The disk-cloning method described in this article was written
  for Windows 9X systems that reside in a FAT volume.  This
  technique cannot be used in the NT-family Windows (NT4/2000/XP
  and so on).

  Specifically for Windows NT4/2000/XP and Server 2003, we
  designed XXCLONE (a siter product of XXCOPY) that makes the
  job of creating a self-bootable clone of Windows system disk
  extremely easy for anyone.

    www.xxclone.com


© Copyright 2016 Pixelab All rights reserved.

[ XXCOPY Home ] [ Table of Contents ] [ << ] [ >> ]

Join the XXCOPY group