Jump back to the top page Jump back to the top page

 What is XXCOPY ?
 F A Q 
 About Us (Pixelab) 
On-Line Manual 
XXTB #001 
XXTB #002 
XXTB #003 
XXTB #004 
XXTB #005 
             . . .  


©2016 Copyright

 All rights reserved  
    [ Table of Contents ] [ Show as Detached ] [ >> ]


    From:    Kan Yabumoto           tech@xxcopy.com
    To:      XXCOPY user
    Subject: XXCOPY Frequent Asked Questions (FAQ)
    Date:    2012-05-30
    Q0:  Can I do xxxxxxxxxxx with XXCOPY?
         (Fill in xxxxxxxxxxx with your own words)
    A0:  The most likely answer to the question is YES.  XXCOPY can do
         most common file management jobs quite nicely.  But, as the
         number of the XXCOPY switches grows, it is getting harder and
         harder to find the right command line argument for a given job.
         The recent addition of a few technical bulletins should help.
           for Command Line Syntax                          XXTB #25
           for Command Reference Alphabetic Listing         XXTB #26
           for Command Reference Functional Classification  XXTB #27
           for The Wild-Wildcard Source Specifier           XXTB #28
         Especially, the Functional Classification article, XXTB #27
         seems to be the easiest way to see the overall picture.
         If your company has an urgent need for a file management job whose
         requirements are mostly met by XXCOPY but not exactly, and you wish
         to have an XXCOPY with a minor customization, please consult us.
         We may provide solutions to your need at reasonable time/price.
    Q1:  What is the difference between XXCOPY, XCOPY, and other similar
    A1:  Let us list the utility programs which are related one another.
           XXCOPY.EXE   The logical extension to XCOPY - most powerful.
           XCOPY.EXE    Microsoft's command-line based copy utility
           COPY         Internal command to COMMAND.COM (Microsoft)
           XCOPY32.EXE  XCOPY's Win-32 program which XCOPY runs when
                        invoked inside Win9x/ME/NT/2K.
           XXCOPY16.EXE XXCOPY's predecessor. written for 16-bit (real mode)
                        environments such as DOS.  Supports most but not
                        all of XXCOPY's switches.
           ROBOCOPY.EXE Microsoft's version of an extended XCOPY utility.
                        It is bundled in Windows NT/2000/XP Resource Kit.
                        ROBOCOPY runs on WinNT or Win2000, not DOS nor Win9X. 
           DCOPY32.EXE  Essentially the same as XXCOPY.EXE.  It is bundled
                        with Pixelab's DATMAN-99 tape control software.
           DCOPY.EXE    Essentially the same as XXCOPY16.EXE.  It is bundled
                        with Pixelab's DATMAN-DOS tape control software.
         In short, XXCOPY and XXCOPY16 are Pixelab's products which
         extend the features of XCOPY32 and XCOPY respectively.
    Q2:  I need to copy the top level of a directory structure only.
         I want to copy the user home directory structure from one server
         to another without copying any sub dirs or files.  I have tried
         the /T switch but it seems to copy the sub dirs.
    A2:  Among all switches, the feature to go deep into subdirectories
         is controlled by /S (for subdirectory) and /E (for subdirectory-
         even-if-it's-empty).  Therefore, if you don't use /S or /E in
         the switches, it's OK.  However, these switches are also
         incorporated in a few other combined switches such as /BU
         (equivalent to /R/I/BI/Q/C/H/E/V/Y) and /CLONE (equivalent to
         /KS/H/E/R/Q/Y/BI/ZY) which makes it tricky.
         The easiest way to avoid the inclusion of /S or /E in such hidden
         cases is to explicitly cancel such hidden inclusion by adding
         /S0 the end of your switches.  That is, you can combine with any
         switches and put the /S0 switch to the right which will be
         evaluated last and therefore override any earlier inclusion.
            XXCOPY c:\mysource  c:\mydest  /CLONE  /S0
    Q3:  I want to clone source to destination but only files with certain
         extension(s). When I use    XXCOPY c:\src\*.ext d:\dest /CLONE
         it also deletes files with different extension at destination.
         I cannot figure out which switches to use.
    A3:  As explained in A2 above, the /CLONE switch is a shortcut for a
         combination of switches.  In this particular case, the /ZY switch
         is responsible for the file deletion.  As the name implies,
         the CLONE operation is to create a destination directory which
         resembles to the source directory as closely as possible.  That
         includes the removal of extra directory and files that should not
         be there.  So, to retain all the component switches of /CLONE
         except the /ZY part, just add the cancelling switch (/Z0) to the
         right hand side.  That is  /CLONE /Z0  will do the job.
         When you glance over the set of switches that are supported by
         XXCOPY, you will find a cancelling switch for nearly every switch
         (which usually ends with a zero (0) at the end).  The cancelling
         switches are convenient to reverse the effect of a long combination
         of switches which has been set earlier (to the left hand side).
    Q4:  When I use the Win9x boot diskette, I cannot use XXCOPY since
         it is the 16-bit (essentially a DOS) environment.  Although I
         can use XXCOPY16, it does not use any long filename.  How can
         I copy directories in DOS (real mode) and restore long names.
    A4:  It is true that there is no one-step solution to deal with the
         long filename.  But, this is what we recommend.
         1. Copy files using any of the 16-bit utilities you have.
            This will give you many files and directories with funny
            names (e.g., \PROGRA~1).  That is fine as the fist step.
            We suggest the use of XXCOPY16, simply because it is the
            most versatile utility with lots of options.  If you want to
            include hidden files and also to preserve file attributes,
            we suggest XXCOPY16.
              XXCOPY16  c:\mydir  d:\mydir /KS /H /E /R
         2. Once you are in Win32 (Win9x/ME/NT/2K), run XXCOPY with the
            special file renaming switch as follows
              XXCOPY  c:\mydir  d:\mydir  /NL /E
            In most cases, you probably want to add the /E switch to
            handle all files and subdirectories inside.
    Q5:  When I try to install the newly-downloaded 32-bit version, the
         following errorr message pops up on my screen.
      xxcopy.exe is not a valid Win32 application.
    A5: The error message generated by the operating system is misleading. Recent release versions of XXCOPY (v.3.09.0 or newer) are created with the most recent development tool from Microsoft (Visual Studio 2010) that expects some obscure Win32 DLL functions that are not provided Windows 2000 or NT4. If you wish to use XXCOPY on Windows 2000 or NT4, you need to acquire XXCOPY v.3.08.0. If your Windows is even older (i.g., Windows 95/98/ME), please acquire XXCOPY v.2.96.7. For real mode (DOS) operation, please download XXCOPY16 v.2.93.1. Q6: My computer is very old (Windows 2000) for which I have problem installing the current version of XXCOPY. Is an old version of XXCOPY available? A6: The following legacy versions are available for Test Drive for which a paid license is available (we no longer provide freeware for old versions). For Windows 2000 or NT4, sign up for a test drive XXCOPY v.3.08.0. For Windows 95/98/ME, sign up for a test drive XXCOPY v.2.96.7. For 16-bit (real mode, DOS) operations, download XXCOPY16 v.2.93.1. Q7: When I use the /RS switch to delete a directory, it always shows a prompt "Dir (Y/N/A/R/S)? How can I get rid of the prompt inside a batch file. Also, what are the meaning of the prompt? A7: The Remove switch group has additional level of confirmation prompt due to the deadly consequences. The prompt is controlled by the /PD (Prompt-on-Directory) and /PD0 (No Prompt-on-Directory) switches. It appears before a directory is to be processed. Rather than having All-or-Nothing control, it provide the R and S responses which gives you Partial-Yes options. (Y/N/A/R/S)? Y for Yes (Yes, process the current directory for removal) N for No (No, skip the current directory and go to the next one) A for Yes for All remaining directories (suppresses subsequent prompts) R for Yes for the current and Remaining siblings and its subdirectories. S for Yes for the current and its subdirectories. Q8: I try to run a server backup using XXCOPY's incremental backup switch (/BI). It works well with local drives. But when I try /BI from one volume to another, sometimes nearly half of the files always get copied even though I know most of them have never been changed since the last backup. Why /BI does not work on some volume? A8: Add the /FF (Fuzzy Filetime) switch in such cases. With the switch, XXCOPY considers two timestamps the same if they are within a pre-determined number of seconds (/FF is the same as /FF2 --- for plus/minus 2 seconds). In most cases, the default setting of plus/minus 2 seconds works well. Here is why... The /BI operation compares the file size and time stamp between the file in the source directory and in the destination. Due to different file time format used in various file systems, the time stamp on a file gets truncated, resulting in a different file time after a copy. When such files are compared against their counterparts in the source directory, the file times do not match. This is most commonly experienced when you copy files from an NTFS volume to FAT (both FAT16 and FAT32) volume. Similarly, FAT and Unix/Linux file system has file date incompatibilities. File system Time Resolution (Granularity) ---------------------------------------------- FAT12 2 sec FAT16 2 sec FAT32 2 sec NTFS 100 nsec Unix/Linux 1 sec Whenever you run XXCOPY operation which involves a file date comparison (e.g., /BI, /BX) across different file systems, use the /FF switch. Q9: Is there a way to perform an incremental backup but ignore the file time. That is, I want to select files of different size. A9: Yes, the /BZ switch is for you. You can choose a backup scheme from the following variations. /BI Backs up incrementally, different (by time/size) files only. /BB Backs up brand new files only (does not overwrite existing ones). /BN Backs up newer files only (includes brand new files). /Bo Backs up older files only (includes brand new files). /BX Backs up different-date files (includes brand new files). /BZ Backs up different-size files (includes brand new files). /BS Selects exactly the same files (this is useful with /RS). /BU Standard Backup switch (same as /r/i/bi/q/c/h/e/v/y) /U Updates the files that already exist in destination. Note: The /Bx switches are mutually exclusive one another, but /U may coexist with a /Bx switch. Q10: I have seen variations for the home page URL of XXCOPY. Which is the real home page? A10: The current official home page URL for XXCOPY is http://www.xxcopy.com/ Our corporate home page is http://www.pixelab.com/ Now, all of the freeware download files are stored at the following directory: http://www.pixelab.com/download/ In the past, we have also used the following addresses http://www.xxcopy.com/xxcopy/ http://www.datman.com/xxcopy/ Now, we encourage you to use the shorter form. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * We also run a beta test for which we estabished a full web site: http://www.xxcopy.com/betatest/ If you are looking for a feature which is not supported by the current release version, you may try the beta test site. The documentation files in the batatest site reflect the extended functionality of the beta version. Usually, a beta test version is well debugged. But, of course, it is less mature than the current release version. Since we pay close attention to bugs and we try to correct serious problems as soon as they are discovered, you may estimate the stability of a particular beta test version by the date it was created. If you feel uneasy to run an "untested" version, wait a few weeks. If the same beta test version is still there, it will have gone through the scrutiny that much longer. Q11: I can't back up the Program File directory using XXCOPY. Why? A11: It is very likely that you are not using quotation marks around the source directory name. XXCOPY processes the command line by splitting the string of command line text into pieces using the space (or tab) character as the delimiter which separates the line into components. When you have a multi-word name such as "Program Files", XXCOPY will see it as two components. You must tell XXCOPY that the two words are actually just one piece by surrounding the directory name using the double quotes ("). XXCOPY c:\Progam Files d:\dest\ // WRONG!!! XXCOPY "C:\Program Files" d:\dest\ // CORRECT This is not XXCOPY's idiosyncrasies. You can apply this technique to any operation in a DOS Box. E.g., try it with DIR, CD, etc. DIR "C:\Program Files" CD "C:\My Documents\My Pictures" Q12: I can't make the /Fo, /ON and even /OA to work. Here's my command line looks like. What is wrong? XXCOPY c:\mysrc\ c:\mydest\ /s /Fo c:\temp\mybackup.log A12: This is a quite common problem with first time users. As stated in the previous answer (A8), the space (and tab) character plays a very important role in the command line. Although it may seem hard to read, any parameter for an XXCOPY command switch (such as /Fo which needs the filename) must follow the command switch immediately without a space character. So, in your case, type /Foc:\temp\mybackup.log (without space after /Fo) Although there are many command-line programs which permit or even require a space between the command switch and its parameter, XXCOPY is one of those programs that does not allow a space there. Actually, allowing an optional space between the command letter(s) (such as /Fo) and its parameter would create undesirable ambiguity in the command line syntax, it is best to keep it strict, albeit a bit ugly to read without a space there. Q13: My log list which is created by either /ON or /OA does not include the list of files just copied. How can I list the files which are successfully copied in the log file? A13: The /ON/OA output was meant to be for error logging. When you make a big backup job and save a log file, the few lines of error will be buried in the huge list of filenames. Therefore, it is a deliberate XXCOPY design not to dilute the log file with voluminous success cases. If you want a list of backup log that contains the names of the files which are copied, use the /Fo switch which is equivalent to the console output you get using the /F switch. Q14: But, /Fo always overwrites the existing list file. Is there a switch which allows me to append the list to an existing list file? A14: No, there is no Append equivalent in the /Fo switch. But, you can write the following sequence in your batch file to achieve the same goal. ... xxcopy \src\ \dst\ /fonew.lst type new.lst >> grand.lst ... Q15: When I run a backup using XXCOPY (XXCOPY src dst /CLONE), on some file, I get a "data mismatch" error message. What does it mean? A15: Immediately a file is copied, XXCOPY checks the size of the newly created file in the destination directory. If the file size does not match the source, the error message will be shown. Under normal circumstance, this should not happen. But, in a multi- tasking environment such as Windows, a file which was just closed may be subjected to a modification by another process which is not necessarily a fatal condition. XXCOPY does not interpret the severity of such an incident. Therefore, it is up to you to make the assessment as to the purpose of the file. In many cases, the error condition is not very serious. Otherwise, you may turn off *ALL* processes except XXCOPY when you clone the current volume to another volume. Q16: I want to obtain a list of files using XXCOPY's rich set of file selection mechanism but without acutally causing any actions like copying or removing files --- just a listing only. Also, I want just a bare listing without even the file size info. A16: XXCOPY is no longer just a file copy utility, but a general purpose file management tool and searching and making a list of files is one of the jobs XXCOPY is well equipped. I will show you a few examples as the answer XXCOPY c:\mydir\*.jpg /S /L The searchspec has the base directory part and a template part. /S is to include subdirectories (which usually the case) The /L switch is the starting point. It shows file size. XXCOPY c:\mydir\*.jpg /S /L /ZS /ZS without the sign-on and statistics info. The bare list. XXCOPY c:\mydir\*.jpg /S /LL /ZS /LL gives you longname only Actually, /Lxxxx is a general purpose list-formatter. You can add L(ongname), S(hortname), Z(size), D(ate), T(ime), A(ttributes). Since Longname varies in length, for best list, place L last. Some more variations: XXCOPY c:\mydir\*.jpg /S /ZS /LD // D(ate) L(ongname) XXCOPY c:\mydir\*.jpg /S /ZS /LDZL // D(ate) S(ize) L(ongname) XXCOPY c:\ /DA#0 /S /ZS /LDZL // Only the files made today Q17: When I use XXCOPY16 in DOS and duplicate the entire C: drive to D: using the following command, I get funny filenames in the destination like XXXXXX~1.XXX. XXCOPY16 C:\ D:\ /CLONE How come the files are not copied correctly? A17: Although XXCOPY16.EXE supports almost all XXCOPY.EXE command switches, the longname related features (such as the handling of files using the long filename) cannot be supported. The limitation is not of the XXCOPY16 program. It is the real mode (DOS) environment which does not support the long filenames. This is exactly why Microsoft invented the "alias" 8.3 filename in order for legacy (DOS) programs to be able to access files created under Win9x and NT/2000/XP with a long filename. For more information about duplicating a disk drive under Win9x, there is another article on the subject with great detail XXTB #10. Q18: I understand XXCOPY can duplicate the system disk for Win9x/ME. What about the Windows XP or Windows 7? A18: No. Since XXCOPY accesses storage devices primarily with high-level Win32 system API functions (at the file/directory level) rather than low-level device I/O functions to maintain the robustness of the program, XXCOPY cannot make the destination disk self-bootable (which was once possible for DOS-based (Win 9X/ME) Windows). We now offer a new product, Q19: Is there a way to backup a directory and keep the time-stamp of the source directory (and those of the subdirectories) so that when I restore the directory later, the time-stamps will exhibit the original directory-creation time? A19: If you run XXCOPY under NT/2000/XP, newly created directories in the destinaion will get the same timestamp. But, under Win9x/ME, unfortunately no. As far as we know, there is no File I/O API in the Win9x programming (or in DOS for that matter) which allows a program (such as XXCOPY) to set or modify the time value for a directory. We feel it is a serious omission of in the Win32 implementation. The only ways to achieve the objective are to use some programming tricks. But, possible side effects and risk of compromising the system integrity is too great. It is a serious omission in API functionality when Microsoft implemented Win32 for the Win9x/ME environment. Q20: When I right-click the icon of the XXCOPY.EXE file and examine the version number, it is different from the one the program shows at the banner line. Why? And, which one to believe? A20: We have traditionally used version numbers which consist of four digits which are grouped in to three parts like 2.60.0. Unfortunately, the version information which can be attached to an EXE file (to be viewed in the property sheet of the EXE file) has a format of four digits which are always split into four parts of single digit. We don't really like the format and we can't do anything about it. Besides, it is somewhat time consuming to set the property sheet version number every time we build a beta version (which are often made for tentative debugging purposes). To be honest, more often than not, we forget spending time in adjusting the property sheet section while we are concentrating on removing bugs and making a few experiments to see a particular problem is gone for a user's environment. The property sheet is just a distraction as far as we are concerned. Just disregard the version number property sheet and take XXCOPY's banner line (which are very prominent) at its face value.
    [ Table of Contents ] [ Show as Detached ] [ >> ]