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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Passer un argument à un batch sans passer par un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Passer un argument à un batch sans passer par un fichier

n°2029997
phdenis
Posté le 17-10-2010 à 17:00:44  profilanswer
 

Bonjour,
 
J'essaye de passer un argument d'entrée à un batch mais sans succès.
La seule méthode qui marche est d'utiliser un fichier texte.
 
Existe-t-il un autre moyen que d'utiliser un fichier texte ?
 
Merci d'avance pour votre aide.

mood
Publicité
Posté le 17-10-2010 à 17:00:44  profilanswer
 

n°2029998
Fork Bomb
Obsédé textuel
Posté le 17-10-2010 à 17:24:00  profilanswer
 

Quelle version de Windows ?


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°2029999
phdenis
Posté le 17-10-2010 à 18:15:21  profilanswer
 

Fork Bomb a écrit :

Quelle version de Windows ?


Salut,

 

Je suis sous Windows Xp. J'ai aussi essayé sur Windows 2003.

 

Merci pour ton aide.

n°2030000
o'gure
Multi grognon de B_L
Posté le 17-10-2010 à 18:16:55  profilanswer
 

Ce sujet a été déplacé de la catégorie OS Alternatifs vers la categorie Programmation par O'gure


---------------
Relax. Take a deep breath !
n°2030003
phdenis
Posté le 17-10-2010 à 18:28:00  profilanswer
 

Bonjour à tous,

 

La seule différence que je vois entre passer le fichier et passer un argument est le caractère de fin de ligne.

 

n°2030351
phdenis
Posté le 18-10-2010 à 20:19:08  profilanswer
 

Re-bonjour à tous,

 

Bon apparemment personne n'a de réponse à ma question ?

 

-:(

n°2030386
Xspawn_Lpc
Posté le 18-10-2010 à 22:57:53  profilanswer
 

qu'est ce qui ne fonctionne pas ?


---------------
Quand on aime on ne compte pas. Quel Dilemme lorsque l'on aime compter !
n°2030679
phdenis
Posté le 19-10-2010 à 21:45:10  profilanswer
 

Xspawn_Lpc a écrit :

qu'est ce qui ne fonctionne pas ?


Salut xspawn_lpc,
 
J'ai un code batch (Essai.bat) dont le contenu a été simplifié (cf la fin du message).  
J'ai crée un raccourci sur mon fichier batch afin de l'appeler en lui passant le paramètre d'entrée Msg1 donc voici ce que je fais:
 

Code :
  1. C:\Projects\Essai.bat < "Msg1"


 
J'obtiens le message d'erreur suivant: Le fichier spécifié est introuvable.
Pour que cela puisse marcher, j'ai crée un fichier MyMsg1.txt donc le contenu est Msg1.
 

Code :
  1. C:\Projects\Essai.bat < C:\Projects\MyMsg1.txt


 
Ce qui me surprend c'est que je sois obligé de passer par un fichier juste pour y mettre un mot.
Qu'en pensez-vous ?
 
Fichier Essai.bat

Code :
  1. @echo off
  2. ECHO This batch allows to print a specific message
  3. ECHO.
  4. ECHO  Msg1: Display the message 1
  5. ECHO  Msg2: Display the message 2
  6. ECHO  Msg3: Display the message 3
  7. ECHO  Msg4: Display the message 4
  8. ECHO.
  9. SET /P CHOICE=Enter a choice:
  10. ECHO.
  11. if %CHOICE% == Msg1 goto MSG_1
  12. if %CHOICE% == Msg2 goto MSG_2
  13. if %CHOICE% == Msg3 goto MSG_3
  14. if %CHOICE% == Msg4 goto MSG_4
  15. :MSG_1
  16.     ECHO Message 1
  17.     GOTO END
  18.    
  19. :MSG_2
  20.     ECHO Message 2
  21.     GOTO END
  22. :MSG_3
  23.     ECHO Message 3
  24.     GOTO END
  25.    
  26. :MSG_4
  27.     ECHO Message 4
  28. :END
  29.     PAUSE

Message cité 1 fois
Message édité par phdenis le 19-10-2010 à 21:45:42
n°2030681
phdenis
Posté le 19-10-2010 à 22:01:09  profilanswer
 

phdenis a écrit :


Salut xspawn_lpc,

 

J'ai un code batch (Essai.bat) dont le contenu a été simplifié (cf la fin du message).
J'ai crée un raccourci sur mon fichier batch afin de l'appeler en lui passant le paramètre d'entrée Msg1 donc voici ce que je fais:

 
Code :
  1. C:\Projects\Essai.bat < "Msg1"
 

J'obtiens le message d'erreur suivant: Le fichier spécifié est introuvable.
Pour que cela puisse marcher, j'ai crée un fichier MyMsg1.txt donc le contenu est Msg1.

 
Code :
  1. C:\Projects\Essai.bat < C:\Projects\MyMsg1.txt
 

Ce qui me surprend c'est que je sois obligé de passer par un fichier juste pour y mettre un mot.
Qu'en pensez-vous ?

 

Fichier Essai.bat

Code :
  1. @echo off
  2. ECHO This batch allows to print a specific message
  3. ECHO.
  4. ECHO  Msg1: Display the message 1
  5. ECHO  Msg2: Display the message 2
  6. ECHO  Msg3: Display the message 3
  7. ECHO  Msg4: Display the message 4
  8. ECHO.
  9. SET /P CHOICE=Enter a choice:
  10. ECHO.
  11. if %CHOICE% == Msg1 goto MSG_1
  12. if %CHOICE% == Msg2 goto MSG_2
  13. if %CHOICE% == Msg3 goto MSG_3
  14. if %CHOICE% == Msg4 goto MSG_4
  15. :MSG_1
  16.     ECHO Message 1
  17.     GOTO END
  18.    
  19. :MSG_2
  20.     ECHO Message 2
  21.     GOTO END
  22. :MSG_3
  23.     ECHO Message 3
  24.     GOTO END
  25.    
  26. :MSG_4
  27.     ECHO Message 4
  28. :END
  29.     PAUSE


 

Salut à tous,

 

C'est bon, j'ai trouvé ma réponse:

 

Il suffit de faire tout simplement de taper ça dans une console:

 
Code :
  1. ECHO Msg1 | C:\Projects\Essai.bat
 

Et voilà plus besoin de fichier "inutile".

 

Et si on veut se passer d'ouvrir une console, on met ça dans un fichier batch:

Code :
  1. C:\WINDOWS\system32\cmd.exe /K; ECHO Msg1 | C:\Projects\Essai.bat
 

Si quelqu'un a des infos ...


Message édité par phdenis le 19-10-2010 à 22:26:37
n°2030682
art_dupond
je suis neuneu... oui oui !!
Posté le 19-10-2010 à 22:03:02  profilanswer
 

si je me souviens bien,  tu récupères les paramètres avec %1 %2...
 
 
essai.bat
 


echo %1
echo %2


 
 
> essai.bat chocolat donut
 
donnera
 
chocolat
donut
 
 
 


---------------
oui oui
mood
Publicité
Posté le 19-10-2010 à 22:03:02  profilanswer
 

n°2030708
phdenis
Posté le 19-10-2010 à 23:46:20  profilanswer
 

Tu appelles ton batch via une console et non un raccourci sur le batch.
 
Merci qd même

n°2030713
Xspawn_Lpc
Posté le 20-10-2010 à 00:16:08  profilanswer
 

Tout est dit dans le poste de art_dupond
 
Pas besoin d'utiliser "|", juste de mettre les arguments séparés par des espaces sur la ligne de commande (ou le raccourcis) après essait.bat


---------------
Quand on aime on ne compte pas. Quel Dilemme lorsque l'on aime compter !
n°2030822
phdenis
Posté le 20-10-2010 à 11:42:04  profilanswer
 

Ben non, je veux un batch qui appelle un autre batch  lui passant un argument spécifique.

n°2030848
breizhbugs
Posté le 20-10-2010 à 13:13:40  profilanswer
 

phdenis a écrit :

Ben non, je veux un batch qui appelle un autre batch  lui passant un argument spécifique.


appelant.bat:

Code :
  1. @ECHO OFF
  2. echo appelant test 1
  3. call essai.bat donut chocolat
  4. echo appelant test 2
  5. call essai.bat %1 %2


 
G:\>appelant.bat msg1 msg2
appelant test 1
donut
chocolat
appelant test 2
msg1
msg2


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

  Passer un argument à un batch sans passer par un fichier

 

Sujets relatifs
Créer un fichier XML à partir d'un formulaireCopie de feuilles sur un fichier global
Récupérer taille réelle d'un fichier gzcompressé sans le décompresserComment créer des fichier de dependence avec microsoft compiler
Selectionner un fichier tous les N fichiersextraction de contenus d'un fichier texte
transfert de fichier grâce a OBEX? 
Plus de sujets relatifs à : Passer un argument à un batch sans passer par un fichier


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