![]()
[<<]Message[>>] [<<]Author[>>] [<<]Subject[>>] [<<]Thread[>>]
Number : 4943 Date : 2003-07-04 Author : Garry Deane Subject : Re: how to subdivide one large dir to many small dirs prior to cd burn Size(KB) : 3
--- In xxcopy@yahoogroups.com, "beckwithdw" wrote: > using xxcopy 2.82.9 on win2k-pro. have a 5gb dir tree with > many sub dirs and files. need to copy to several 650mb cdr > discs using ezcd creator, not directcd packet writing. > haven't figured the combination of switches in xxcopy to > do this. also unaware of any other utils for this. thanks > in advance for your ideas. As Kan and others have noted, you can't use xxcopy to write directly to the CD unless using packet writing. However, provided you have ample disk capacity, you can use Xxcopy to copy your existing data into 'volume' sets which will fit onto 1 CD. You then use your CD software to copy each volume set. The idea is similar to that explained in Tech Bulletin #20 Item 3 for copying to multiple media. First, create an exclusion file similar to the following and add anything additional that you don't want copied. The batch file assumes this is called xxcopyex.txt and is located in the %temp% directory. You can call it whatever you like provided the batch file is amended to suit. :: xxcopy exclusion list *.bak *.bk* *.chk *.tmp *.wbk *\*ie5\ *\recycle*\ *\temp\ Now create the following batch file. Call it whatever you want (with a .bat or .cmd extension) and place it in C:\ or C:\Winnt or somewhere convenient. Adjust the paths and file names as necessary. @echo off :: CDvols.cmd :: Creates a series of sub-directories called C:\cds\vol1, :: C:\cds\vol2 ... C:\cds\voln suitable for copying to a CD. :: Each subdirectory contains no more than 600 Mb of data setlocal set src=c:\ set dst=c:\cds\ set exc=%temp%.\xxcopyx.txt set log=%temp%.\xxcopy.log set max=600m set n=0 echo Setting archive bit on all files in %src% xxcopy %src% /aa/h/s > nul :loop set /a n=n+1 :: Note the next line has wrapped - it should end with /oa%log% :: The critical switches are /bu to carry out a normal backup :: /m to copy files with the archive bit set and clear after copy :: /qbL:600m to stop copying when bytes copied will exceed 600 Mb xxcopy %src% %dst%vol%n%\ /bu/m/qbL:%max%/e0/pz0/ex%exc%/x%dst%/oa% log% if %errorlevel% EQU 0 goto :loop if %errorlevel% GTR 100 goto :loop echo Deleting extra empty directory xxcopy %dst% /rsy/s/x*/pd0 > nul goto :eof Now open up a cmd prompt and type the path and name of the batch file which should continue copying your source into as many individual subdirectories as needed. Note that you will get some errors due to some files being unable to be copied because they are in use by the OS. If you want to copy these files as well, note their names in the log file then use a DOS boot disk to copy them to a c:\CDs\Voln directory with sufficient space to fit them (the last Voln directory will probably use well under 600 Mb). You should now have 9 or 10 c:\cds\ subdirectories which you can copy to your CDs one at a time using ezcd. When complete, delete the c:\cds directory. If you have limited free space, you can create a CD volume one at a time using a similar scheme but without the need to create numbered directories. After each 600Mb copy operation, copy the data to a CD, delete the data in c:\cds and repeat until done. Garry
This message if part of XXCOPY's message Archive. The archive contains all the messages posted at Yahoo!Groups: XXCOPY.