IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Caractères Interdits \ / : * ? " < > |. Pourquoi ?


Sujet :

Windows

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Caractères Interdits \ / : * ? " < > |. Pourquoi ?
    Bonjour à vous tous développeurs

    Je travaille pour le Magazine Micro Hebdo. On n'arrive pas à résoudre cette question ! Pourquoi ces caractères \ / : * ? " < > |. sont-ils inutilisables pour créer un nom de fichier sous windows ?

    Ce sont des caractères "réservés par le système", héritage du Fat32 je crois.
    Mais à quoi servent-ils, chacun, pris séparément ?
    Et pourquoi celà menacerait-il le système d'autoriser leur utilisation ?

    Si vous aviez des réponses, celà m'aiderait énormément !
    Mais alors é-no-rmé- ment !

    Merci d'avance

    Nicolas

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Alors, pour faire simple:
    • \ et /: Séparateurs de nom (fichier/dossier).
    • :: Je ne sais pas, mais je pense que c'est réservés aux "lecteurs" de DOS.
    • ": Délimiteur.
    • * et?: Jokers.
    • <, > et |: Redirections de flux (en ligne de commande).

    Ajoutons à cela que DOS ne connait pas de caractère d'échappement, donc ces caractères sont complètement inutilisables.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    ":" sert aussi comme séparateur pour l'utilisation de flux (stream) dans un système de fichier NTFS.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Génial
    Tu me sauves

    J'imagine que si on met un séparateur n'importe-où dans un nom de fichier, l'OS sépare le nom en deux en pensant qu'il s'agit d'un dossier et d'un nom de fichier, c'est bien ca ?

    Réservé aux lecteurs, ca spécifie qu'on est sur l'unité C: ou d:, c'est bien ca ?

    Les jokers, c'est réservé aux recherches de noms incomplets ?
    Donc si j'appelle un fichier file*b, il gêne lorsqu'on fait une recherche de tous les fichiers file quelque chose en tapant le caractère * après file. C'est bien ca ?


    " les délimiteurs en revanche ca ne me parle pas ...
    ><| les redirections de flux non plus ...

    J'ai besoin d'aide !

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    • Oui
    • oui
    • oui.
    • Délimiteurs: En gros, on ne peut pas faire de fichier "C:\Program Files\toto"tata.txt".
    • Redirections de flux, c'est pour la ligne de commande. Par exemple programme.exe >sortie.txt
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    encore merci merci merci merci merci

    Mais à vrai dire, je comprends pas bien le rôle des délimiteurs.
    J'ai l'impression qu'ils ne servent qu'à l'intérieur du code d'un fichier.
    Pas dans les lignes de commandes, pas dans le système de fichier.
    Si ?
    A quoi ca sert en mode MSdos de taper des guillemets ?

    La réduction de flux non plus je capte pas ..
    Je ne suis hélas pas développeur ...

    Je peux demander une dernière fois de l'aide ?

  7. #7
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Citation Envoyé par nicolas_microhebdo Voir le message
    A quoi ca sert en mode MSdos de taper des guillemets ?
    À pouvoir passer des noms de fichiers contenant des espaces (comme dans mon exemple, Program Files).

    La réduction de flux non plus je capte pas ..
    Je ne suis hélas pas développeur ...
    Va dans un dossier qui contient des fichiers, et tape:
    Examine le résultat, conclus.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #8
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    :: Je ne sais pas, mais je pense que c'est réservés aux "lecteurs" de DOS.
    Flux alternatifs également, mais cela ne date "que" de NTFS. Sous DOS, c'était uniquement les lettres de lecteur, mais il est tout à fait possible que ce soit un héritage du CP/M également.

    Citation Envoyé par Médinoc Voir le message
    Ajoutons à cela que DOS ne connait pas de caractère d'échappement, donc ces caractères sont complètement inutilisables.
    Ce n'est plus le cas sous l'interpréteur de commande actuel, qui reconnaît "^" comme caractère d'échappement.

    Et des caractères interdits ont été oubliés : le caractère nul, et tous les caractères de code ASCII 1 à 31.
    De plus, certains noms de fichier sont également interdits (CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, et LPT9, qu'ils aient ou non une extension).
    Enfin, il n'est pas accepté non plus d'avoir des points (.) ou des espaces à la FIN du nom de fichier. Par exemple, "toto.txt." n'est pas un nom valide, pas plus que "toto.txt ".


    A noter que ces limitations sont en partie historiques, en partie requises par l'interpréteur de commande, et enfin peuvent être requises par le filesystem lui-même. Par exemple, FAT interdit les caractères "[", "]", "=", "," et ";" en plus des précités.


    Sources :
    http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx
    http://support.microsoft.com/kb/100108
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Merci les gars vous me tirez une belle épine du pied
    Merci et remerci

    Nicolas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. caractères "interdits"
    Par mussara dans le forum Langage SQL
    Réponses: 5
    Dernier message: 01/12/2006, 21h00
  2. [perl] Caractères interdit pour la clé d'un hash ?
    Par LE NEINDRE dans le forum Langage
    Réponses: 2
    Dernier message: 24/02/2006, 08h57
  3. [XML] caractères interdits
    Par ep31 dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 02/12/2005, 20h05
  4. [Requête SQL] Caractère interdit
    Par Mister Nono dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 13/09/2005, 09h28
  5. [Requete SQL] Caractère interdit
    Par Mister Nono dans le forum SQL
    Réponses: 1
    Dernier message: 13/09/2005, 09h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo