Path length limit

Sep 14, 2009
2
0
#1
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!
 

rconn

Administrator
Staff member
May 14, 2008
10,506
94
#2
hrensink wrote:

> 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!
The maximum path length in TCC is 4K -- are you creating directory names
longer than that?

Rex Conn
JP Software
 

samintz

Scott Mintz
May 20, 2008
1,272
11
Solon, OH, USA
#3
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:


> 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!
>
>
>
>
 
Sep 14, 2009
2
0
#4
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

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:
 
#5
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
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
 
Oct 29, 2008
83
0
#7
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.
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
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:

> 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
>
>
>
>
>


--
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
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
 

Charles Dye

Super Moderator
Staff member
May 20, 2008
3,575
46
Albuquerque, NM
prospero.unm.edu
#10
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
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.)