Splitting directories for DVD burning

Discussion in 'Digital Darkroom' started by sergey_oboguev, Jan 16, 2006.

  1. Some time ago I was looking for a solution to split large image file
    sets for burning onto multiple DVDs. As I was unable to find
    satisfactory existing solution for my purposes, I put together my own
    utility to do this. Some inquired me if I have found a solution, so
    those who have similar needs may download it from

    http://www.oboguev.net/scratch/HardLink.zip

    and use it.

    This utitily works only on Windows 2000/XP and only on NTFS volumes.
    It uses NTFS feature called hard links.

    Directory entry on NTFS volume is not a file itself but a pointer to a
    file stream. Each file can be linked from multiple directories. Actual
    file gets deleted when the last link to it is gone.

    Utility I wrote has two parts:

    1) Part one allows to copy any source directory tree to another target
    directory as hard links.
    Files are not duplicated in the process. Created directory tree
    contains references to original files, not a copy of the files.
    Thus very little extra disk space is consumed in the process.
    Created directories and subdirectories however are separate from the
    original tree, only files are linked, not original directories.
    Thus if you copy directory tree SRC to directory tree DST and perform
    manipulations on DST, this does not affect SRC layout.
    You may delete files from DST folders, this won't affect SRC folders.
    After you are done with DST, you can delete it altogether, this won't
    delete the files (assuming you have not deleted them in SRC as well).

    2) Part two allows to split directory tree into multiple "disks"
    (folders named disk1, disk2 and so on) each having maximum specified
    size. You can select one of pre-set sizes from the combo box control
    or type in your own size.
    Those "disk" folders can be subsequently burned to DVDs or CDs.
    Once you are done with burning, you can delete "disk" folders and/or
    their root folder and their contents.
    Again, this won't affect source files.
    Splitter takes care to keep reasonable data sequencing across disks.

    Part 1 is needed as one may want to avoid burning some of the files in
    SRC tree since they may have already been burned. In this case,
    instead of splittig SRC to DST directly, one may copy SRC to TMP as
    hard links, delete unneeded files from TMP and then split TMP into
    DST, then delete TMP and burn "disk" folders from DST.

    I included executable file and source code, but I did not include
    dependent DLLs (MFC70, MSVCRT, MSVCR70, COMCTL32).

    Enjoy.
     
  2. Sergey, let me also say thanks. It's mostly over my head, but I've downloaded the zip and bookmarked the page. Gotta hunch it might come in handy someday, if I can muster my brain cells ;o
     
  3. Thank you for providing that, was feeling I would have to so somthing myself also. Very clever using links instead of copying files. Thanks again.
     
  4. Thank you for this great idea. However, I just tried it and got an error message while trying to split a file. I may have misunderstood your intentions: will this utility deal only with splitting a folder containing multiple small/medium file, or also split a file which is bigger than the target DVD?
    I tried, on XP SP1, to split one 10GB file on a system that had only 1GB space left on the HD and targeting it for a DVD split. The error message said "file xxx exceeds specified disk size.."
     
  5. Sergey, this is perfect! Exactly what I needed. And fast! It's clear you are a photographer and solved a photographer's problem, unlike many of the "solutions" that split image files or require a utility to read the files afterwards.

    Your program allows image files copied from several flash memories to be efficiently be packed onto optical media for archiving, but still allowing for direct access.

    Thank you for your kind contribution to our comunity.

    Dan in Kitty Hawk

    DanBeauvais.com -or- OuterBanksImages.com
     
  6. Anyone interested in this subject may want to check out Archive Creator from www.pictureflow. check it out. I find it to be well worth the ~$50 cost.

    Regards -
     
  7. Feel free to try this one, too! It's basic.

    http://www.cogit.net/apps/mikessplitdir.exe

    Mike
     
  8. amazing, this is great.. thanks so much Sergey for this free and easy to use utility. I've successfully backed up all directories and images with ease, and then cataloged them with another utility. I've looked around for a while, and this is the best free utility for 2000/XP users. Does this work on Vista too?
     
  9. Wonderful program! It was a little annoying tracking down those DLLs, but thats micro$ofts fault, not yours. I can confirm that it works perfectly in Vista as long as your source directory does not already contain hard links (Vista uses them alot more than XP)
     
  10. Hi Sergey,
    Thank you sooo much for this wonderful little helper utility! I had no idea that Hard Links even existed in NTFS! They are so much more useful than .lnk shortcut files, and you are a mighty smart person to come up with this creative way of using NTFS hard links to achieve the purpose of spanning a data backup onto multiple DVDs.
    Anyway, I have a question for you: Is Step 1 necessary, or is it really optional? From what I see, unless I need to exclude some of the files from my backup, I can jump straight to Step 2 to directly split the original folder's content into a set of "disk" folders. Correct? Step 2, much like Step 1, creates its output structure through the use of Hard Links, right? So in theory we should be able to use Step 2 alone without going through Step 1. Isn't this true?
    -Deioz
     
  11. Sergey,
    Another question for you: Is the use of the "Clean Target" button exactly equivalent to manually deleting the target contents using Windows Explorer?
    -Deio
     
  12. The .dll are available from many sources :
    http://www.dll-files.com/dllindex/dll-files.shtml?comctl32

    being one of them.

    Download each of the dlls, open each .zip, and unzip into the same directory where the HardLink.exe is (HardLink\Release). double click HardLink.exe and away you go. (You can also place the dlls into the windows/system) but i prefer to keep these things isolated.

    Thanks for some nice coding!
     
  13. Thank you kindly!
     
  14. Yeah, sorry I have not updated it for Vista/7. Mike
     
  15. Hi Sergey, Great work I can confirm your HardLink program works on Windows 7. I have since discovered that Cyberlink Power2Go 6 that came free with my BluRay burner can also automatically burn large file sets over multiple discs be they CD, DVD, or BluRay. The burnt files can be read directly from the discs with no special software needed. The trick was to tick the "Auto-split content by disc capacity" box on the Data tab of the Configuration/Information dialog that is display after you click "Burn Now".

    Note: I realise that this is an ancient thread, but it was one of the first google hits that came up when I was searching for answers on how to do this. Maybe this information will be useful to someone else one day.
     

Share This Page