1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Path length limit

Discussion in 'Support' started by hrensink, Sep 15, 2009.

  1. hrensink

    Joined:
    Sep 14, 2009
    Messages:
    2
    Likes Received:
    0
    For quite some time, 4NT has been unable to handle EXTREMELY long path names. I know CMD isn't a saint here either, nor is explorer.
    However, some tools (e.g. JAR) seem to manage to create path hierarchies that go deeper than the traditional MAX_PATH length, and some tools (eg JAVA) have no trouble handling these paths.
    Cleaning up such directories, however, is not possible with 4NT, and I always have to revert to a relatively simple CMD command

    echo y | rd /s [longdir]

    It would be great if 4NT/TCC could be somewhat enhanced in this area!

    Thank you for an outstanding product!
     
  2. rconn

    rconn Administrator
    Staff Member

    Joined:
    May 14, 2008
    Messages:
    9,732
    Likes Received:
    81
    hrensink wrote:

    The maximum path length in TCC is 4K -- are you creating directory names
    longer than that?

    Rex Conn
    JP Software
     
  3. samintz

    samintz Scott Mintz

    Joined:
    May 20, 2008
    Messages:
    1,178
    Likes Received:
    11
    Have you tried using the extended filename syntax? Most likely, the
    culprit is not TCC but the Win32 API.

    For example instead of "c:\long\file\name.ext" you would use
    "\\.\c:\long\file\name.ext". IIRC, that syntax allows for filenames up
    to 32K in length. Again, that is a Win32 issue and not a TCC issue.

    -Scott


    hrensink <> wrote on 09/15/2009 03:45:31 AM:


     
  4. hrensink

    Joined:
    Sep 14, 2009
    Messages:
    2
    Likes Received:
    0
    Hello,

    Thank you for your replies.

    Yes, I am creating directories, or files - it does not seem to matter
    Take this simple example

    c:\>for /l I in (1,1,10) (md 1234567890 & cd 1234567890)

    never gets me any directories deeper than 250.
    Nor do other file or directory creation commands.

    Extended filename syntax doesn't work either :

    c:\>md \\.\c:\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\
    TCC: (Sys) The filename, directory name, or volume label syntax is incorrect.

    Thanks ...
    Herman

     
  5. K_Meinhard

    Joined:
    May 20, 2008
    Messages:
    309
    Likes Received:
    0
    Hallo

    scrput command doesn't seem to respect spaces. So

    echo %@format[22,%_time]

    wortks as exspected,

    scrput 4 23 bri gre on blu %@format[22,%_time]

    does not. Since there doesn't seem to be a "hard space" character like
    the old ascii 255, how do I format a variable after scrput?

    Herzliche Grüße,

    Klaus Meinhard
     
  6. Steve Fabian

    Joined:
    May 20, 2008
    Messages:
    3,523
    Likes Received:
    4
    K_Meinhard wrote:
    | Hallo
    |
    | scrput command doesn't seem to respect spaces. So
    |
    | echo %@format[22,%_time]
    |
    | wortks as exspected,
    |
    | scrput 4 23 bri gre on blu %@format[22,%_time]
    |
    | does not. Since there doesn't seem to be a "hard space" character
    | like the old ascii 255, how do I format a variable after scrput?

    Try two backticks at the end of the line:

    scrput 4 23 bri gre on blu %@format[22,%_time]``

    --
    HTH, Steve
     
  7. jabelli

    Joined:
    Oct 29, 2008
    Messages:
    83
    Likes Received:
    0
    This fails for me the third time I run it, leaving me a directory I can't change to, not even using \\.\ syntax (yes I know it's absolute).

    Removing it is also problematical; upper levels must be renamed shorter, even for Explorer (Windows 7 Explorer has no problem).

    TCC 10.00.76 Windows XP [Version 5.1.2600]
    also Windows 7 [Version 6.1.7600]
     
  8. Jim Cook

    Joined:
    May 20, 2008
    Messages:
    605
    Likes Received:
    0
    This worked for me:

    scrput 4 23 bri gre on blu ``%@format[22,%_time]

    On Wed, Sep 23, 2009 at 2:46 AM, K_Meinhard <> wrote:



    --
    Jim Cook
    2009 Saturdays: 4/4, 6/6, 8/8, 10/10, 12/12 and 5/9, 9/5, 7/11, 11/7.
    Next year they're Sunday.
     
  9. K_Meinhard

    Joined:
    May 20, 2008
    Messages:
    309
    Likes Received:
    0
    Hallo Steve, and all!

    Thanx for reminding me of the backtick syntax for scrput.

    I have now adapted my calendar batch to work under TCC 11 beta, x86 and
    x64 versions. If you're interested you can find it here:

    www.4dos.info/btm/isocal.zip

    See the built-in help for what it can do.

    The DOS version of the calendar can be found here:

    www.4dos.info/4xbtm/isocal.zip

    which has also the supplemental files if you want to use the reminder
    function.

    There are differences between 4DOS and TCC 11 that required some
    changes. The backtick syntax wasn't necessary in 4DOS, 4DOS v8.00 has an
    internal var for the Mofified Julian Date.

    I hope someone can use this.

    Herzliche Grüße,

    Klaus Meinhard
     
  10. Charles Dye

    Charles Dye Super Moderator
    Staff Member

    Joined:
    May 20, 2008
    Messages:
    3,280
    Likes Received:
    38
    Hey Klaus:

    I'm curious whether you've tested your batch file with my ISO8601 plugin? It would be interesting to know if they play well together (and might enable your batch to work under released versions of 4NT and TC.)
     

Share This Page