Jump to content

Recommended Posts

Posted

I'm not sure if this is a bug or just my lack of knowledge. In trying to create a CD-R with a directory structure of greater than 8, ImgBurn does not properly recurse the directories.

 

Here are the exact steps.

1. I downloaded a software upgrade that unzips to the required directory structure needed to create a upgrade CD.

2. Unzip the file to a current upgrade location that was 4 directories deep.

3. The file contained a few files that were nine directories deep (in addition to the 4 where I stored the "root" directory

4. Fired up ImageBurn and set the advanced ISO9660 setting as shown below

5. Ran the calculate, with the 4th directory as root and image burn found all the directories but only one file.

6. Burned disk anyway and sure enough all the directories were there but no files

7. Decided to take my "root" directory for the CD structure I wanted and copy it to C:\

8. Reran ImgBurn with all the same setting

9. Result is all directories and files were then properly added.

 

Hope someone can shed a bit of light on this problem.

 

Thanks,

Jon

post-7878-1184165719_thumb.png

Posted

You might be exceeding the MAX_PATH character limit.

 

I know there is a change I can make for the new (ish) implementation of unicode versions of the 'FindFirstFile' API function to extend it beyond the 'MAX_PATH' (255/6 ?) limit and up to 32767 chars, but I've not done it yet - never needed to!

 

So all I can assume is that the function is failing or whatever and so ImgBurn doesn't see them.

 

I'll look into tweaking the functions so the 'MAX_PATH' limit can be exceeded ready for the next version.

 

Ta.

Posted

Hmm ok, having tested 2.3.2.0 with some deep folders (18 levels), it's working ok here.

 

I can't even extract (using WinRar) a file whereby the resulting folder structure exceeds the lower limit, it just complains.

 

Windows won't let me create any more files / folders beyond the limit either.

 

This is as far as I can go:

 

C:\TestLongPath1\TestLongPath2\TestLongPath3\TestLongPath4\TestLongPath5\TestLongPath6\TestLongPath7\TestLongPath8\TestLongPath9\TestLongPath10\TestLongPath11\TestLongPath12\TestLongPath13\TestLongPath14\TestLongPath15\TestLongPath16\TestLongPath1

 

It wouldn't even accept '17' for the folder name!

 

I put 4 files in the 'TestLongPath16' folder and ImgBurn found them all just fine.

 

So even Explorer itself can't cope with long pathnames.

 

Having now just tested 7zip, it DOES allow files to be extracted beyond the limit. Of course they're then not visible within Explorer, it simply won't let me change directory beyond that initial limit.

 

You'll be pleased to hear the changes I've made within ImgBurn DO allow it to read the files that explorer can't see though.

Posted (edited)

LUK, i did a test for fun and explorer can read more than 17 level of directories, but the problem is that the file length must not exceed 255 charaterts. I tested with 85 folders, with the folder name being just one charater and all was ok in Imgburn and exporer.

But what you changed in Imgburn, makes it even better.

Thanks

 

It turned out that the problem folders/files had path names in excess of 255 characters.

http://www.markwilson.co.uk/blog/2005/11/w...mes-on-ntfs.htm

_2_.7z

Edited by dirio49
Posted

Thanks for the speedy response. Look forward to trying out the change in the next version. For now I guess I'll just have to move the "root" directory to C:\ for now.

 

Jon

  • 2 weeks later...
Posted

I believe NTFS can handle path lengths up to 32767 characters long, though no subdirectory name can be >255 characters and Windows Explorer can't handle more than 255 characters in a path, neither can cmd.exe. You can get round this by using subst, I just created a directory tree on my 2k box that was about 370 levels deep, path length 740ish.

 

C:\>For /l %a in (1,1,124) Do Md D&Cd D

C:\D\D\.....D\>Subst D: .&D:

D:>>For /l %a in (1,1,124) Do Md D&Cd D

D:\D\D\.....

Posted

Futz, I can't seem to edit my previous post (I keep getting post to index.php not implemented when I try???)

 

D:\D..\>Subst E: .&E:

E:>>For /l %a in (1,1,124) Do Md D&Cd D

E:\D\D\.....D\>Subst F: .&F:

F:\>

 

That gets you 372 levels in, rinse, lather, repeat. B)

 

Why anyone would want to do this is beyond me.

 

Mark

 

P.S. You can get something similar, without using Subst, by using an NTFS feature called a Junction, (see hardlink.exe at http://www.bearcanyon.com/tools/) which lets you remount a directory somewhere else, so you can drag a junction of C:\A\B\C\D\E\F\ to C:\F. I use hardlink.exe a lot when I want to backup only some files in a directory, but want them IN a directory on a disk. Create a new directory, Hardlink the files from the src dir and then backup the new dir. Saves duplicating files on the HD.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.