Limitation de longueur de chaîne de la ligne de commande (Cmd .exe) dans l'invite de commandes

Traductions disponibles Traductions disponibles
Numéro d'article: 830473 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article traite de la limitation de longueur des chaînes que vous utilisez à partir de l'invite de commandes (Cmd.exe) et fournit des méthodes permettant de contourner cette limitation.

Plus d'informations

Sur les ordinateurs qui exécutent Microsoft Windows XP ou une version ultérieure, la longueur maximale de chaîne que vous pouvez utiliser à l'invite de commandes est de 8 191 caractères. Sur les ordinateurs qui exécutent Windows 2000 ou Windows NT 4.0, la longueur maximale de chaîne que vous pouvez utiliser à l'invite de commandes est de 2 047 caractères.

Cette limitation s'applique à la ligne de commande, aux variables d'environnement individuelles (telles que la variable PATH) qui sont héritées par d'autres processus, et à toutes les extensions de variable d'environnement. Si vous exécutez des fichiers de commandes à partir de l'invite de commandes, cette limitation s'applique également au traitement des fichiers de commandes.

Exemples

La liste suivante fournit quelques exemples d'application de cette limitation aux commandes que vous exécutez à l'invite de commandes et aux commandes que vous utilisez dans un fichier de commandes.
  • Dans l'invite de commandes, la longueur totale de la ligne de commande suivante ne peut pas contenir plus de 2 047 ou de 8 191 caractères (en fonction de votre système d'exploitation) :
    cmd.exe /k Fichier_exécutable.exe paramètre1, paramètre2 ... paramètreN
  • Dans un fichier de commandes, la longueur totale de la ligne de commande suivante que vous utilisez ne peut pas contenir plus de 2 047 ou de 8 191 caractères (en fonction de votre système d'exploitation) :
    cmd.exe /k Fichier_exécutable.exe paramètre1, paramètre2 ... paramètreN
    Cette limitation s'applique aux lignes de commande qui figurent dans les fichiers de commandes lors de l'utilisation d'Invite de commandes pour l'excution du fichier de commandes.
  • Dans l'Invite de commandes, la longueur totale de Variable_environnement1 après le développement de Variable_environnement2 et Variable_environnement3 ne peut pas contenir plus de 2 047 ou de 8 191 caractères (en fonction de votre système d'exploitation) :
    c:> set Variable_environnement1=Variable_environnement2Variable_environnement3
  • Dans un fichier de commandes, la longueur totale de la ligne de commande suivante, après le développement des variables d'environnement dans la ligne de commande, ne peut pas contenir plus de 2 047 ou de 8 191 caractères (en fonction de votre système d'exploitation) :
    Fichier_exécutable.exe paramètre1paramètre2
  • Bien que la limitation Win32 pour les variables d'environnement soit de 32 767 caractères, l'invite de commandes ignore toutes les variables d'environnement qui sont héritées du processus parent et qui sont plus longues que ses propres limitations de 2 047 ou de 8 191 caractères (en fonction du système d'exploitation). Pour plus d'informations sur la fonction SetEnvironmentVariable, reportez-vous au site Web de Microsoft à l'adresse suivante (en anglais) :
    http://msdn2.microsoft.com/en-us/library/ms686206.aspx

Comment faire pour contourner la limitation

Pour contourner cette limitation, appliquez l'une ou plusieurs des méthodes suivantes (en fonction de votre situation) :
  • Modifiez les programmes qui requièrent de longues lignes de commande afin qu'ils utilisent un fichier contenant les informations de paramètre, puis incluez le nom de ce fichier dans la ligne de commande.

    Par exemple, au lieu d'utiliser la ligne de commande Fichier_exécutable.exe Paramètre1 Paramètre2...ParamètreN dans un fichier de commandes, modifiez le programme pour qu'il utilise une ligne de commande semblable à la ligne de commande suivante, où Fichier_paramètres est un fichier qui contient les paramètres obligatoires (paramètre1 paramètre2 ...paramètreN):
    Fichier_exécutable.exe c:\temp\Fichier_paramètres.txt
  • Modifiez les programmes qui utilisent de grandes variables d'environnement de sorte que ces variables contiennent moins de 2 047 ou de 8 191 caractères (en fonction de votre système d'exploitation).

    Par exemple, si la variable d'environnement PATH contient plus de 2 047 ou de 8 191 caractères (en fonction de votre système d'exploitation), utilisez une ou plusieurs des méthodes suivantes pour réduire le nombre de caractères :
    • Utilisez des noms plus courts pour les dossiers et les fichiers.
    • Réduisez les niveaux des arborescences de dossiers.
    • Stockez les fichiers dans un plus petit nombre de dossiers afin que moins de dossiers soient requis dans la variable d'environnement PATH.
    • Recherchez les méthodes possibles permettant de réduire la dépendance de la variable PATH pour la localisation des fichiers .DLL.

Propriétés

Numéro d'article: 830473 - Dernière mise à jour: lundi 12 février 2007 - Version: 1.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows XP Édition familiale
  • Microsoft Windows XP Professional
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professionnel
  • Microsoft Windows 2000 Server
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 4.0 Édition Développeur
Mots-clés : 
kbinfo KB830473
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com