Batch (.bat) redirection vers fichier .txt

Fermé
Miika - 21 oct. 2010 à 23:00
BeFaX Messages postés 14245 Date d'inscription mercredi 24 décembre 2008 Statut Contributeur Dernière intervention 6 août 2013 - 22 oct. 2010 à 01:05
Bonjour a vous tous :) .

J'espère que vous pourrez m'aider, je cherche depuis se matin une solution a mon problème mais je n'en trouve aucune.

Donc en faite je suis entrain de créer un fichier .bat, je veux que se fichier .bat fasse une redirection vers un fichier .txt alors je fais :

@ECHO OFF

echo '---------- > texte.txt
echo ' Main >> texte.txt
echo '---------- >> texte.txt
echo Select Case InputBox ( _ >> texte.txt
echo "Entrez le numéro du menu souhaité et clique sur Ok. . ." & vbCrlf & _ >> texte.txt
echo " [1] Item 1" & vbCrlf & _ >> texte.txt
echo " [2] Item 2" & vbCrlf & _ >> texte.txt
echo " [3] Item 3" & vbCrlf & _ >> texte.txt
echo " [4] Item 4", _ >> texte.txt
echo "Main Menu") >> texte.txt
pause


Voilà donc mon code qui pose problème ;

Lorsque que j'enregistre mon fichier .bat et l'exécute, il me marque :

"Entrez le numéro du menu souhaité et clique sur Ok. . ."
'vbCrlf' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
'_' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
" [1] Item 1"
'vbCrlf' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
'_' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
" [2] Item 2"
'vbCrlf' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
'_' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
" [3] Item 3"
'vbCrlf' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
'_' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.


Donc en final il me pose problème surement a cause des guillemets, mes je ne sais pas comment régler sa pour que le .bat prenne tous sa pour du texte et non des commande(s) :(

Merci à vous d'avance pour votre aide =) !

A voir également:

2 réponses

BeFaX Messages postés 14245 Date d'inscription mercredi 24 décembre 2008 Statut Contributeur Dernière intervention 6 août 2013 3 821
21 oct. 2010 à 23:40
Tu dois mettre ^ devant le signe & car & veut dire que le prochain mot sera une commande, comme un retour à la ligne.

echo salut
echo bonjour
echo aurevoir

est la même chose que : echo salut & echo bonjour & echo aurevoir

Donc un ^ devant les caractères spéciaux.
2
J'ai pensé au "&" qui permet d'effectuer plusieurs commandes a la suite mais j'ai même pas pensé qu'il aurai pu être utilisé de la même façon en utilisant echo en batch xD.

Et bah une réponse rapide, qui me permet d'une, d'apprendre quelque chose ^^ et deux, bah de reprendre mon travail.

Un grand grand merciii =D !!
0
BeFaX Messages postés 14245 Date d'inscription mercredi 24 décembre 2008 Statut Contributeur Dernière intervention 6 août 2013 3 821
Modifié par BeFaX le 22/10/2010 à 00:03
Il y a encore plus simple au lieu de refaire plusieurs redirection d'echo :

(echo '----------   
echo ' Main   
echo '----------   
echo Select Case InputBox ( _   
echo "Entrez le numéro du menu souhaité et clique sur Ok. . ." ^& vbCrlf ^& _   
echo " [1] Item 1" ^& vbCrlf ^& _   
echo " [2] Item 2" ^& vbCrlf ^& _   
echo " [3] Item 3" ^& vbCrlf ^& _   
echo " [4] Item 4", _   
echo "Main Menu"^)  
)>texte.txt


Tout ce qui sera entre les parenthèses aura sa redirection vers texte.txt au lieu d'avoir chaque fois >>texte.txt.

J'adore le batch, n'hésites pas à me poser tes problèmes.
0
Oui j'ai aussi essayer avec les parenthèse avant de faire de la manière plus longue ou je dois a chaque fin de ligne ajouter >>texte.txt, mais lorsque j'enregistre mon fichier bat et le lance il me marque erreur innatendu :s.
0
Ah nan pour le petit bout de code que j'ai posté ici sa fonctionne avec les parenthèse, mais par compte pour un bout de code plus grand se ne passe pas ... :s, je vais regarder sa :).
0
BeFaX Messages postés 14245 Date d'inscription mercredi 24 décembre 2008 Statut Contributeur Dernière intervention 6 août 2013 3 821
22 oct. 2010 à 00:47
Dis moi ton bout de code, c'est surement un problème de parenthèse sans le ^ devant.
0
Myika Messages postés 3 Date d'inscription vendredi 22 octobre 2010 Statut Membre Dernière intervention 2 novembre 2010
22 oct. 2010 à 00:52
Voilà mon autre bout de code :

echo  Case "1"
echo  Call sub1()
echo  Case "2"
echo  Call sub2()
echo  Case "3"
echo  Call sub3()
echo  Case "4"
echo  Call sub4()
echo  Case Else
echo  WScript.Echo "Vous avez entré un mauvais choix !"
echo  End Select


Mais se bout de code ne me donne pas d'indication sur l'erreur, avec se code en plus du premier il ne veut tout simplement pas créer le texte.txt.

Merci pour ton aide :)
0