Bonjour a tous
Me voila confronté a un probleme que je ne sais pas par quel bout prendre
J'ai besoin d'ecrire une fonction qui me permettra de determiner si un pathname passé en parametre est:
- de type 8.3 (short filename)
- de type LFN (long filename)
- aucun des deux (donc incorrect)
J'ai listé les différents points permettant de différencier les deux types :
pour les 8.3:
*Caracteres interdits:
- les caracteres de control (0 - 31)
- les caracteres " * + , . / : ; < = > ? [ \ ] |
- le caractere 127
- le caractere 0xE5 (qui doit etre remplacé par 0x05)
* Longueur du pathname:
Maximum 80 caracteres ( 3 pour le driver letter (c:\), 12 pour le nom de fichier (nom+point+extension), 64 pour le path, 1 pour le NUL) ==> données trouvées sur le hardware white paper de micro$oft
D'ailleurs je trouve assez bizarre ce "64", a moins qu'il ne prenne pas en compte les '\' separant chaque nom de répertoire, dans ce cas on pourrait imbriquer au maximum 8 dossiers... mais sans les antislash, comment fait le system pour savoir ou commence et ou s'arrete un nom de répertoire?
* Longueur d'un nom:
Maximum 8 caracteres pour un répertoire (espaces interdits en milieu de nom)
pour les LFN:
*Caracteres interdits:
- les caracteres de control (0 - 31)
- les caracteres " * / : < > ? \ |
- le caractere 127
* Longueur d'un nom:
Maximum 260 pour un nom de fichier + extension et NUL
Maximum 248 pour un nom de dossier + NUL
Meme avec tout ceci je n'arrive pas a pondre un algorithme simple. Si vous avez des pistes pour m'aiguiller ce serait super.
Merci d'avance







Répondre avec citation




Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.




Partager