Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2394 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [BATCH] Passer une commande en argument à l'appel de cmd.exe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[BATCH] Passer une commande en argument à l'appel de cmd.exe

n°2114304
Profil sup​primé
Posté le 01-12-2011 à 16:53:04  answer
 

Bonjour,
Sur Gnu/Linux, sous X, je lance un programme dans un Xterm avec la commande suivante :

xterm -e bash -c "monprogramme et ces argument"


 
Je voudrais savoir si il est possible d'appeller cmd.exe avec "monprogramme et ces argument" en argument ?
 
Merci pour vos réponse et les précisions que vous apporterez à ce sujet.
 
 

mood
Publicité
Posté le 01-12-2011 à 16:53:04  profilanswer
 

n°2114310
Mara's dad
Yes I can !
Posté le 01-12-2011 à 16:58:15  profilanswer
 

cmd /?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°2114311
Profil sup​primé
Posté le 01-12-2011 à 16:59:32  answer
 


 
J'ai pas cmd sur Gnu/Linux. [:dawa]

n°2114312
Mara's dad
Yes I can !
Posté le 01-12-2011 à 17:04:51  profilanswer
 

Désolé pour les accents.

Citation :

D‚marre une nouvelle instance de l'interpr‚teur de commandes de Windows
 
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] chaŒne]
 
/C      Ex‚cute la commande donn‚e par la chaŒne de caractŠres puis se termine.
/K      Ex‚cute la commande donn‚e par la chaŒne de caractŠres et reste actif.
/S      Modifie le traitement de la chaŒne aprŠs /C ou /K (voir ci-dessous).
/Q      Ex‚cute (sans interactions) la commande donn‚e puis reste actif.
/D      D‚sactive l'ex‚cution d'AutoRun … partir du Registre (voir ci-dessous).
/A      Redirige la sortie de commandes internes vers un canal ou un fichier
        ANSI.
/U      Redirige la sortie de commandes internes vers un canal ou un fichier
        UNICODE.
/T:fg   Change la couleur du premier plan ou de l'arriŠre-plan (voir aussi
        COLOR /?).
/E:ON   Active les extensions de commande (voir ci-dessous).
/E:OFF  D‚sactive les extensions de commande (voir ci-dessous).
/F:ON   Active les caractŠres de fin des noms de fichiers et de r‚pertoires
        (voir ci-dessous).
/F:OFF  D‚sactive les caractŠres de fin des noms de fichiers et de r‚pertoires
        (voir ci-dessous).
/V:ON   Active l'expansion retard‚e des variables d'environnement en utilisant
        ! comme d‚limiteur. Par exemple, /V:ON permet … !var! de d‚velopper la
        variable var … l'ex‚cution. La syntaxe var d‚veloppe les variables
        lorsqu'elles sont entr‚es, ce qui est diff‚rent lorsque utilis‚ …
        l'int‚rieur d'une boucle FOR.
/V:OFF  D‚sactive l'expansion retard‚e des variables d'environnement.
 
Remarquez que des commandes multiples s‚par‚es par le s‚parateur ®ÿ&&ÿ¯ sont
accept‚es comme une chaŒne si elles sont entre guillemets. Pour des raisons de
compatibilit‚, /X est identique … /E:ON, /Y … /E:OFF et /R
… /C. Toute autre option est ignor‚e.
 
Si /C ou /K est indiqu‚, alors le reste de la ligne de commande est trait‚
avec la logique suivante pour prendre en compte les guillemets (" ) :
 
    1.  Si toutes les conditions suivantes sont respect‚es, alors les
        guillemets de la ligne de commande sont conserv‚sÿ:
 
        - pas d'option /S
        - exactement deux caractŠres guillemet
        - aucun caractŠre sp‚cial entre les deux caractŠres guillemet, un
          caractŠre sp‚cial ‚tantÿ: &<>()@^|
        - un ou plusieurs espaces entre les deux caractŠres guillemet
        - la chaŒne comprise entre les deux guillemets est le nom d'un fichier
          ex‚cutable.
 
    2.  Dans le cas contraire, l'ancien comportement v‚rifiera si le premier
        caractŠre est un caractŠre guillemet et si tel est le cas, enlŠvera le
        premier caractŠre et le dernier caractŠre guillemet de la ligne de
        commande, pr‚servant tout texte se trouvant aprŠs le dernier caractŠre
        guillemet.
 
Si /D n'a PAS ‚t‚ sp‚cifi‚ dans la ligne de commande, alors CMD.EXE d‚marrera
en recherchant les variables du Registre REG_SZ/REG_EXPAND_SZ suivantes et
si l'une ou les deux sont pr‚sentes, elles seront ex‚cut‚es en priorit‚.
 
    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
 
        et/ou
 
    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
 
Les extensions de commandes sont activ‚es par d‚faut. Vous pouvez
‚galement les d‚sactiver pour une ex‚cution particuliŠre en utilisant
l'option /E:OFF. Vous pouvez les activer ou d‚sactiver pour toutes les
ex‚cutions de CMD.EXE sur une machine ou pour un utilisateur en
fixant l'une ou les deux valeurs REG_DWORD suivantes du Registre :
 
    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions
 
        et/ou
 
    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions
 
… 0x1 ou 0x0 (en utilisant REGEDIT.EXE). Les paramŠtres sp‚cifiques de
l'utilisateur sont prioritaires sur ceux de la machine. Les options de la
ligne de commande ont pr‚s‚ance sur les paramŠtres du Registre.
 
Les extensions de commandes impliquent des modifications ou des additions dans
les commandes suivantesÿ:
 
    DEL ou ERASE
    COLOR
    CD ou CHDIR
    MD ou MKDIR
    PROMPT
    PUSHD
    POPD
    SET
    SETLOCAL
    ENDLOCAL
    IF
    FOR
    CALL
    SHIFT
    GOTO
    START (inclut ‚galement des modifications dans l'appel externe de commande)
    ASSOC
    FTYPE
 
Pour obtenir des d‚tails sp‚cifiques, entrez /? Nom_de_commande.
 
L'expansion retard‚e de variables d'environnement n'est PAS activ‚e par
d‚faut. Vous pouvez l'activer ou la d‚sactiver pour une utilisation
particuliŠre de CMD.EXE avec l'option /V:ON ou /V:OFF. Vous pouvez activer
ou d‚sactiver l'expansion retard‚e pour toute utilisation de CMD.EXE sur un
ordinateur ou pour un utilisateur en fixant avec REGEDIT.EXE l'une ou les
deux valeurs REG_DWORD suivantes du Registre :
 
    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion
 
        et/ou
 
    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion
 
… la valeur 0x1 ou 0x0. Les paramŠtres sp‚cifiques … l'utilisateur sont
prioritaires sur les paramŠtres de l'ordinateur. Les options de la ligne
de commande ont priorit‚ sur les paramŠtres du Registre.
 
Si l'expansion retard‚e de variables d'environnement est activ‚e, un point
d'exclamation peut ˆtre utilis‚ pour remplacer la valeur d'une variable
d'environnement lors de l'ex‚cution.
 
Vous pouvez activer ou d‚sactiver la terminaison des noms de fichiers pour
une instance particuliŠre de CMD.EXE avec l'option /V:ON ou /V:OFF. Vous
pouvez l'activer ou la d‚sactiver pour toutes les instances de CMD.EXE sur un
ordinateur et/ou pour une ouverture de session utilisateur en fixant avec
REGEDIT.EXE l'une ou les deux valeurs REG_DWORD suivantes du Registre :
 
    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar
 
        et/ou
 
    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar
 
… la valeur hexad‚cimale d'un caractŠre de contr“le … utiliser pour une
fonction particuliŠre (par exemple : 0x4 repr‚sente Ctrl+D et 0x6, Ctrl+F).
Les paramŠtres sp‚cifiques de l'utilisateur sont prioritaires sur ceux de
l'ordinateur. Les options de la ligne de commande ont pr‚s‚ance sur les
paramŠtres du Registre.
 
Si la terminaison est activ‚e avec l'option /F:ON, les deux caractŠres de
contr“le utilis‚s sont Ctrl+D pour la terminaison des noms de r‚pertoire et
Ctrl+F pour la terminaison des noms de fichiers. Pour d‚sactiver un caractŠre
de terminaison particulier dans le Registre, utilisez la valeur pour l'espace
(0x20) qui n'est pas valide en tant que caractŠre de contr“le.
 
La terminaison est appel‚e lorsque vous entrez l'un des deux caractŠres de
contr“le. La fonction de terminaison prend le chemin figurant … gauche du
curseur, y ajoute un caractŠre g‚n‚rique s'il n'y en a pas d‚j… et cr‚e une
liste des chemins correspondants. Cette fonction affiche ensuite le premier
chemin de la liste. Si aucun chemin ne correspond, elle ‚met un son et
n'affiche rien. Ensuite, si vous pressez le mˆme caractŠre de contr“le
plusieurs fois, vous verrez les chemins successifs correspondants de la liste
pr‚c‚dente. Si vous appuyez sur la touche Majuscule et le caractŠre de
contr“le, vous verrez la liste dans le sens contraire. Si vous modifiez la
ligne de quelque fa‡on que ce soit et appuyez … nouveau sur le caractŠre de
contr“le, la liste enregistr‚e de chemins correspondants est ignor‚e et une
nouvelle liste est g‚n‚r‚e. De mˆme, une nouvelle liste sera cr‚‚e si vous
passez de la terminaison des noms de fichiers … celle des noms de r‚pertoires.
La seule diff‚rence entre les deux caractŠres de contr“le est que la
terminaison des noms de fichiers fonctionne pour les noms de fichiers et les
noms de r‚pertoires alors que la terminaison des noms de r‚pertoires ne
fonctionne que pour les noms de r‚pertoires. Si la terminaison des noms de
fichiers est utilis‚e sur des commandes de r‚pertoires internes (CD, MD ou RD)
alors la terminaison des noms de r‚pertoires est active.
 
Le code de terminaison traite correctement les noms de fichiers contenant des
espaces ou d'autres caractŠres sp‚ciaux, en pla‡ant des guillemets autour des
chemins correspondants. Si vous reculez le curseur et appelez ensuite la
terminaison, le texte … droite du curseur lorsque la terminaison est demand‚e
est ignor‚.
 
Les caractŠres sp‚ciaux qui requiŠrent des guillemets sont :
     <espace>
     &()[]{}^=;!'+,`~


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°2114315
Profil sup​primé
Posté le 01-12-2011 à 17:17:42  answer
 

Merci bien Mara's dad, faudra donc que je teste /C et /K.
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [BATCH] Passer une commande en argument à l'appel de cmd.exe

 

Sujets relatifs
'.' n'ets pas reconnu en tant que commande interneAppel de procédure : variable non renvoyée
[BATCH] Afficher le contenu d'un sous dossierpasser un argument d'un JFrame à un autre
[BATCH?] Ouvrir un exe a une position spécifique [RESOLU]espaces dans valeurs variable bloque appel à la fonction ?
[Aide]Commande Visual Basic Express[resolu] batch ne dépasse pas la première ligne
Erreur de compilation sur default argument 
Plus de sujets relatifs à : [BATCH] Passer une commande en argument à l'appel de cmd.exe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR