OVH Cloud OVH Cloud

Longueur de noms de répertoire

22 réponses
Avatar
HD
Bonjour,

La longueur de nom court d'un chemin de répertoire ne doit pas dépasser 66
caractères sous peine de provoquer des incohérences dans Windows (problème
d'ouverture de fichiers, pb d'enregistrement de fichier, etc...).

Peut on modifier cette limite de 66 caractères ?

Merci d'avance pour votre aide.
--
@+
HD

10 réponses

1 2 3
Avatar
P
Hello L"G"R" !

http://tinyurl.com/
Je n'ai pas trouvé l'équivalent français.
L"G"R"

HD a écrit :

Bonjour,

La longueur de nom court d'un chemin de répertoire ne doit pas dépasser 66
caractères sous peine de provoquer des incohérences dans Windows (problème
d'ouverture de fichiers, pb d'enregistrement de fichier, etc...).

Peut on modifier cette limite de 66 caractères ?

Merci d'avance pour votre aide.
--
@+
HD





Je ne suis pas certain que cela corresponde à la question initiale.
pour une version française utilisez :
http://www.minilien.com

--
Bien cordialement,
Aide toi le ciel t'aidera : http://papynet.mvps.org/Forums.htm
Pour prendre contact : http://minilien.com/?1xjHkMIEp0
Quelques pages XP : http://papynet.mvps.org/XP/XP.htm
Avatar
Jean-Claude BELLAMY
Dans le message news: ,
HD s'est ainsi exprimé:

Bonjour,

La longueur de nom court d'un chemin de répertoire ne doit pas
dépasser 66 caractères sous peine de provoquer des incohérences dans
Windows (problème d'ouverture de fichiers, pb d'enregistrement de
fichier, etc...).

Peut on modifier cette limite de 66 caractères ?




NON!
Car cette prétendue limite de 66 caractères N'EXISTE PAS !

Pour commencer, j'ai parcouru en long en large et en travers le MSDN, dont
son célèbre chapitre 17 "File Systems".
ms-help://MS.MSDNQTR.2004OCT.1033/w2krkp/html/proch17.htm , et à AUCUN
moment je n'ai vu la moindre allusion à une limitation de 66 caractères du
nom court.

Il est écrit explictement que les noms longs ne peuvent pas dépasser 255
caractères, et que chaque "morceau" de nom court est limité à 8.3
Mais il n'y a aucune restriction supplémentaire sur les noms courts.

Et d'ailleurs, LA PREUVE :
-> Je viens de contrôler sur mes babasses :

J'ai plein de fichiers dont le nom court dépasse 66 caractères et cela ne
cause aucun problème !

Exemples ( réels!)
NB: j'utilise mon script VBS "nomcourt.vbs", qui donne immédiatement le nom
court COMPLET de n'importe quel fichier
http://www.bellamyjc.org/fr/vbsdownload.html#nomcourt


I:>nomcourt "I:Program FilesBorlandDelphi7DemosToolsAPIEditor
KeybindingEmacsEmacsbasebindings.pas"
I:PROGRA~1BorlandDelphi7DemosToolsAPIEDITOR~1EmacsEMACSB~2.PAS
-> 70 caractères !


I:>nomcourt "I:Program
FilesBorlandDelphi7DemosWebServicesEchoServiceSer
verDatabutterfly.bmp"
I:PROGRA~1BorlandDelphi7DemosWEBSER~1ECHOSE~1ServerDataBUTTER~1.BMP
-> 76 caractères !

I:>nomcourt "I:Program FilesMicrosoft Visual Studio .NET
2003CompactFrameworkSDKConnectionManagerBinImagesPocketPC20021036ppc2002.xml"
I:PROGRA~1MICROS~1.NETCOMPAC~1CONNEC~1BinImagesPocketPC20021036ppc2002.xml
-> 84 caractères !

I:>nomcourt "C:Documents and SettingsBELLAMYLocal SettingsApplication
DataIdentities{5D907C4B-C748-4B86-973E-C482902DADCF}MicrosoftOutlook
ExpressBoîte de réception.dbx"
C:DOCUME~1BELLAMYLOCALS~1APPLIC~1IDENTI~1{5D907~1MICROS~1OUTLOO~1BOTEDE~1.DBX
-> 86 caractères !


Donc si tu as des pb avec des noms de fichiers, ce N'EST PAS à cause de 66
caractères en nom court, mais c'est dû à autre chose !
(indique nous les noms qui te posent pb)


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org *

Avatar
HD
> NON!
Car cette prétendue limite de 66 caractères N'EXISTE PAS !
Pour commencer, j'ai parcouru en long en large et en travers le MSDN,
dont son célèbre chapitre 17 "File Systems".
ms-help://MS.MSDNQTR.2004OCT.1033/w2krkp/html/proch17.htm , et à AUCUN
moment je n'ai vu la moindre allusion à une limitation de 66
caractères du nom court.


Alors je n'ai pas eû l'info sur microsoft.public.fr.excel mais il est
certain que j'ai effectivement eû l'info.

J'ai plein de fichiers dont le nom court dépasse 66 caractères et
cela ne cause aucun problème !
Donc si tu as des pb avec des noms de fichiers, ce N'EST PAS à cause
de 66 caractères en nom court, mais c'est dû à autre chose !
(indique nous les noms qui te posent pb)


Pourtant le fait de réduire les répertoires pour obtenir des noms courts
inférieur à 66 caractères a solutionner mes problèmes...

Ces problèmes se posaient sur des postes qui par macro VBA récupéraient les
répertoires complets du serveur pour les mettre en poste fixe tout en
laissant un fichier log à la place de l'emplacement du répertoire du
serveur. Le transfert plantait.

J'ai également une autre macro qui m'édite tout les fichiers (je peux en
avoir plus de 100) situés dans un répertoire donné. Si ce répertoire a un
nom court dépassant les 66 caractères alors les ouvertures de fichiers
plantent... Pas tous mais certains plantent. Par contre si le répertoire en
question est inférieur à 66 alors là je n'ai aucun problème.

Mes macros travaillent toujours avec des fichiers situés sur réseau. A
l'époque on m'avait parlé d'une limite de taille des noms courts et
effectivement mes macros ont été corrigés par cette vérification.
--
@+
HD
Avatar
HD
J'ai gardé une copie du texte que l'on m'a mis :

"Il faut savoir que Windows n'est pas embêté par des noms longs pour
autant que les noms courts ne dépassent pas 66 caractères. Les noms
courts sont sous la forme 8.3 Lorsque le nom dépasse 8.3, il est coupé;
les 6 premiers caractères sont retenus et la suite est remplacée par ~
suivi d'un numéro croissant et l'extension est réduite à 3 caractères.
Ainsi :
c:totoestnul.document1 devient : c:totoes~1.doc
c:totoestaussibete.docu2 devient c:totoes~2.doc
etc..

H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECORechche pour
l'emploi3 Dossier de travail annuelEA Planification et rapportsEA 7
Événements postérieursQuestionnaire evenemts posterieurs cloture ex.doc



= H:CAC1.ASSSECT S~1Rechch~13 Dos~1EA Pl~1EA 7 É~1Questi~1.doc
Avec 215 caractères...


plutôt 70 caractères (nom court)

Ne pose plus de problème avec:
H:CAC1.ASSOCIATIONS3 Dossier de travail annuelEA Planification et
rapportsEA 7 Événements postérieursQuestionnaire evenemts posterieurs
cloture ex.doc



= H:CAC1.ASS3 Dos~1EA Pl~1EA 7 É~1Questi~1.doc

Et pourtant on a bien toujours des espaces, des accents, etc...


et donc moins de 66 caractères (nom court) puisque deux sous-répertoires
ont été enlevés."
--
@+
HD
Avatar
HD
> Alors je n'ai pas eû l'info sur microsoft.public.fr.excel mais il est
certain que j'ai effectivement eû l'info.



Le fichier où j'ai gardé une trace du message date du 8 mars 2004...
--
@+
HD
Avatar
Jean-Claude BELLAMY
Dans le message news:%23T$ ,
HD s'est ainsi exprimé:

NON!
Car cette prétendue limite de 66 caractères N'EXISTE PAS !


[...]
J'ai plein de fichiers dont le nom court dépasse 66 caractères et
cela ne cause aucun problème !
Donc si tu as des pb avec des noms de fichiers, ce N'EST PAS à cause
de 66 caractères en nom court, mais c'est dû à autre chose !
(indique nous les noms qui te posent pb)


Pourtant le fait de réduire les répertoires pour obtenir des noms
courts inférieur à 66 caractères a solutionner mes problèmes...

Ces problèmes se posaient sur des postes qui par macro VBA
récupéraient les répertoires complets du serveur pour les mettre en
poste fixe tout en laissant un fichier log à la place de
l'emplacement du répertoire du serveur. Le transfert plantait.



L'erreur est dans la MACRO VBA, et non pas un pb fonctionnel de Windows sur
le nom court!

J'ai également une autre macro qui m'édite tout les fichiers (je peux
en avoir plus de 100) situés dans un répertoire donné. Si ce
répertoire a un nom court dépassant les 66 caractères alors les
ouvertures de fichiers plantent... Pas tous mais certains plantent.
Par contre si le répertoire en question est inférieur à 66 alors là
je n'ai aucun problème.



Fais voir ces macros !
Il y a un bug dedans ...


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org *

Avatar
Lasperches Denis
Salut
HD wrote:
exact 255 et compter les espaces pour 3 puisque c'est compris pour
%20 si je ne m'abuse..
ceci dit c'est ridicule de mettre des noms ou chemins aussi longs
car certains logiciels de gravure ne suivent pas si on veut les
mettre
sur CD ;-(



255 caractères c'est beaucoup pour les noms longs. Mais pour les noms
courts 66 caractères ça peut être court... Dans notre organisation de
fichier nous dépassons parfois cette limite...



Puisque ce n'est pas possible de modifier, il faudrait peut être réduire la
profondeur de l'arborescence. Cette solution me semble plus simple à mettre
en oeuvre.

--
Petit Denis
Avatar
Pépé Le Pew
"HD" a écrit dans le message de news:
%
J'ai gardé une copie du texte que l'on m'a mis :

"Il faut savoir que Windows n'est pas embêté par des noms longs pour
autant que les noms courts ne dépassent pas 66 caractères. Les noms
courts sont sous la forme 8.3 Lorsque le nom dépasse 8.3, il est coupé;
les 6 premiers caractères sont retenus et la suite est remplacée par ~
suivi d'un numéro croissant et l'extension est réduite à 3 caractères.
Ainsi :
c:totoestnul.document1 devient : c:totoes~1.doc
c:totoestaussibete.docu2 devient c:totoes~2.doc
etc..

H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECORechche pour
l'emploi3 Dossier de travail annuelEA Planification et rapportsEA 7
Événements postérieursQuestionnaire evenemts posterieurs cloture ex.doc



= H:CAC1.ASSSECT S~1Rechch~13 Dos~1EA Pl~1EA 7 É~1Questi~1.doc
Avec 215 caractères...


plutôt 70 caractères (nom court)

Ne pose plus de problème avec:
H:CAC1.ASSOCIATIONS3 Dossier de travail annuelEA Planification et
rapportsEA 7 Événements postérieursQuestionnaire evenemts posterieurs
cloture ex.doc



= H:CAC1.ASS3 Dos~1EA Pl~1EA 7 É~1Questi~1.doc

Et pourtant on a bien toujours des espaces, des accents, etc...


et donc moins de 66 caractères (nom court) puisque deux sous-répertoires
ont été enlevés."
--




Il me semble que les nom courts ne peuvent contenir des espaces ?

Voici ce que j'ai trouvé dans le centre d'aide et de support :

.........

Pour réaliser cette opération, vous devez utiliser les APIs Windows.
La fonction Visual Basic suivante vous permet de convertir un nom de
fichier long en nom de fichier court.

1) Créez un nouveau Module, et ajoutez le code VBA suivant :

Option Compare Database
Option Explicit

Declare Function GetShortPathName Lib "kernel32" _
Alias "GetShortPathNameA" (ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long

Public Function GetShortName(ByVal sLongFileName As String) As String
Dim lRetVal As Long, sShortPathName As String, iLen As Integer
sShortPathName = Space(255)
iLen = Len(sShortPathName)
lRetVal = GetShortPathName(sLongFileName, sShortPathName, iLen)
GetShortName = left(sShortPathName, lRetVal)
End Function

2) Pour tester cette fonction, affichez la fenêtre de débogage et
saisissez :

?GetShortName("C:Program FilesMicrosoft Office")


..........

et quelques autres précisions :

Windows applique la procédure suivante pour générer des noms de fichier
courts à partir de noms de fichier longs :
• Windows supprime les caractères non valides et les espaces du nom de
fichier. Les caractères non valides comprennent :
. " / [ ] : ; = ,
• Les noms de fichier courts ne pouvant contenir qu'un seul point (.),
Windows supprime les points supplémentaires du nom de fichier si des
caractères valides (hors espaces) suivent le dernier point dans le nom du
fichier. Par exemple, Windows génère le nom de fichier
Cenomd~1.txt
à partir du nom de fichier long
Ce nom de fichier est vraiment long.123.456.789.txt
Autrement, Windows ignore le dernier point et utilise l'avant-dernier
point. Par exemple, Windows génère le nom de fichier court
Cenomd~1.789
à partir du nom de fichier long
Ce nom de fichier est vraiment long.123.456.789.
• à partir du nom de fichier long Le cas échéant, Windows tronque le
nom de fichier à six caractères et ajoute un tilde (~) et un chiffre. Par
exemple, chaque nom de fichier unique créé se termine par " ~1 ". Les noms
de fichier en double se terminent par " ~2 ", " ~3 ", et ainsi de suite.
• à partir du nom de fichier long Windows tronque l'extension du nom
de fichier à trois caractères ou moins.
• à partir du nom de fichier long Windows convertit tous les
caractères du nom de fichier et de l'extension en majuscules.
Notez que si un nom de dossier ou de fichier contient un espace, mais moins
de huit caractères, Windows génère quand même un nom de fichier ou de
dossier court. Ce comportement peut poser un problème si vous essayez
d'accéder à un fichier ou un dossier de ce type sur un réseau. Pour
contourner ce problème, remplacez l'espace par un caractère valide, comme un
trait de soulignement (_). Dans ce cas, Windows ne génèrera pas un nom de
fichier court différent.

Par exemple, " Unnom~1.doc " est généré à partir de " Un nom.doc ", parce
que le nom de fichier long contient un espace.

Aucun nom de fichier court n'est généré à partir de " Un_nom.doc ", puisque
le nom de fichier contient moins de huit caractères et qu'il ne contient pas
d'espace.

Le nom de fichier court " Unnomd~1.txt " est généré à partir du nom de
fichier long " Un nom de fichier long.txt ", puisque le nom de fichier long
contient plus de huit caractères.
Avatar
Philippe [MS]
Bonjour,

Cela ne viendrai pas plutôt du nombre de répertoirs imbriqués gérés par
Windows ???

Phil.

"Jean-Claude BELLAMY" wrote in message
news:
Dans le message news:%23T$ ,
HD s'est ainsi exprimé:

>> NON!
>> Car cette prétendue limite de 66 caractères N'EXISTE PAS !
> [...]
>> J'ai plein de fichiers dont le nom court dépasse 66 caractères et
>> cela ne cause aucun problème !
>> Donc si tu as des pb avec des noms de fichiers, ce N'EST PAS à cause
>> de 66 caractères en nom court, mais c'est dû à autre chose !
>> (indique nous les noms qui te posent pb)
> Pourtant le fait de réduire les répertoires pour obtenir des noms
> courts inférieur à 66 caractères a solutionner mes problèmes...
>
> Ces problèmes se posaient sur des postes qui par macro VBA
> récupéraient les répertoires complets du serveur pour les mettre en
> poste fixe tout en laissant un fichier log à la place de
> l'emplacement du répertoire du serveur. Le transfert plantait.

L'erreur est dans la MACRO VBA, et non pas un pb fonctionnel de Windows


sur
le nom court!

> J'ai également une autre macro qui m'édite tout les fichiers (je peux
> en avoir plus de 100) situés dans un répertoire donné. Si ce
> répertoire a un nom court dépassant les 66 caractères alors les
> ouvertures de fichiers plantent... Pas tous mais certains plantent.
> Par contre si le répertoire en question est inférieur à 66 alors là
> je n'ai aucun problème.

Fais voir ces macros !
Il y a un bug dedans ...


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org *





Avatar
Jean-Claude BELLAMY
Dans le message news:% ,
Philippe [MS] s'est ainsi exprimé:

"Jean-Claude BELLAMY" wrote in
message news:
Dans le message news:%23T$ ,
HD s'est ainsi exprimé:
NON!
Car cette prétendue limite de 66 caractères N'EXISTE PAS !
[...] J'ai plein de fichiers dont le nom court dépasse 66
caractères et cela ne cause aucun problème !
Donc si tu as des pb avec des noms de fichiers, ce N'EST PAS à
cause de 66 caractères en nom court, mais c'est dû à autre chose !
(indique nous les noms qui te posent pb)


Pourtant le fait de réduire les répertoires pour obtenir des noms
courts inférieur à 66 caractères a solutionner mes problèmes...

Ces problèmes se posaient sur des postes qui par macro VBA
récupéraient les répertoires complets du serveur pour les mettre en
poste fixe tout en laissant un fichier log à la place de
l'emplacement du répertoire du serveur. Le transfert plantait.



L'erreur est dans la MACRO VBA, et non pas un pb fonctionnel de
Windows sur le nom court!

J'ai également une autre macro qui m'édite tout les fichiers (je
peux en avoir plus de 100) situés dans un répertoire donné. Si ce
répertoire a un nom court dépassant les 66 caractères alors les
ouvertures de fichiers plantent... Pas tous mais certains plantent.
Par contre si le répertoire en question est inférieur à 66 alors là
je n'ai aucun problème.



Fais voir ces macros !
Il y a un bug dedans ...






[..]

Cela ne viendrai pas plutôt du nombre de répertoirs imbriqués gérés
par Windows ???



Je persiste et signe pour affirmer que l'on peut parfaitement avoir des
chemins qui dépassent 66 caractères en noms courts.
Il y a en a plein mes disques (en particulier dans les fichiers et dossiers
de Delphi et de Visual .NET)

L'erreur provient des macros VBA qui bidouillent les noms de fichiers ...
C'est pourquoi j'aimerais bien les voir de près ..

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org *

1 2 3