Batch : Pb commande echo

Résolu
shetan Messages postés 611 Date d'inscription   Statut Membre Dernière intervention   -  
shetan Messages postés 611 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je voudrait écrire la ligne suivante dans un fichier texte :

echo echo 127.0.0.1 %web% >> %hostpath% >> fichier.txt

Le problème c'est que sur fichier.txt j'obtient

echo 127.0.0.1 lavariable%web%

Et c'est tout, or j'ai besoin qu'il inscrive :

echo 127.0.0.1 %web% >> %hostpath%

Des idées ?
A voir également:

16 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
$ echo echo 127.0.0.1 ^%web^% ^>^> ^%hostpath^% ^>^> fichier.txt > x
$ type x
echo 127.0.0.1 %web% >> %hostpath% >> fichier.txt
3
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Bien vu !
Il fallait connaître le caractère de protection.
J'ai testé %%web%%, ça ne fonctionne pas...
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
on trouve (difficilement) l'explication de l'existence d'un caractère d'échappement (^) dans l'aide Windows
Références de A à Z de la ligne de commande
Vue d'ensemble de l'interpréteur de commandes
Remarques
Le signe &, la barre verticale (|) et les parenthèses ( ) sont des caractères spéciaux qui doivent être précédés du caractère d'échappement (^) ou de guillemets lorsque vous les transmettez en tant qu'arguments.
3
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
autant en bash c'est simple, autant là sous DOS, je n'y arrive pas.
0
Utilisateur anonyme
 
Attend, tu veut qu'il y est marqué quoi dans ton fichier texte ?

Les variables sous forme : %nom_variable%

ou les valeurs des variables ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
J'ai rien dit !!
Je croit avoir compris.

Pour empêcher d'afficher la valeur de "web", on peut marqué : %%web%%

Le début du code sera donc :

echo echo 127.0.0.1 %%web%%


Mais c'est les ">>" qui nous bloque...


Char Sniper a raison, en Bash, avec "echo -e", c'est beaucoup plus simple...
Je vais regarder ça tout de suite....
0
Utilisateur anonyme
 
Il y a moyen de tapper :

echo "echo 127.0.0.1 %%web%% >> %%hostpath%%" >> fichier.txt


Mais après, dans le fichier txt, il y a des "" :

"echo 127.0.0.1 %web% >> %hostpath%" 


...

=S
0
shetan Messages postés 611 Date d'inscription   Statut Membre Dernière intervention   62
 
Je vais essayé ca de suite.
Mais pourrais tu expliquer à quoi sert $ ^ et type x
0
shetan Messages postés 611 Date d'inscription   Statut Membre Dernière intervention   62
 
'$' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

=(
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
$ est mon prompt, je n'aime pas C:>\
^ protège le caractère suivant comme étant spécial, comme les >< ou |
j'écris la commande dans un fichier appellé x et je l'affiche avec type
0
shetan Messages postés 611 Date d'inscription   Statut Membre Dernière intervention   62
 
J'ai testé et dans mon fichier.txt il est ajouté

127.0.0.1 lavariable%web%

Et j'aimerais

echo 127.0.0.1 lavariable%web% >> %hostpath%
ou encore
echo 127.0.0.1 lavariable%web% >> lavariable%hostpath%
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
essaye ces 2 commandes
echo echo 127.0.0.1 ^%web^% ^>^> ^%hostpath^% ^>^> fichier.txt > x.bat
type x.bat
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
et tu tapes quoi exactement ?
0
shetan Messages postés 611 Date d'inscription   Statut Membre Dernière intervention   62
 
attrib -r -h %hostpath%
echo 127.0.0.1	%web% >> %hostpath%
echo echo 127.0.0.1 %web% >> %hostpath% >> fichier.bat


En faite c'est une commande pour ajouter une ligne de commande dans mon fichier.bat :
echo 127.0.0.1 %web% >> %hostpath%

Inscrit directement
echo 127.0.0.1 www.web.com
dans mon fichier %hostpath%

Et je veux que, en plus :

echo echo 127.0.0.1 %web% >> %hostpath% >> fichier.bat

Inscrit la comande
echo 127.0.0.1 %web% >> %hostpath% 
dans mon fichier.bat
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
relis le post #5, où sont les ^ ?
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Je dirai même plus, relis les postes #5 et #9 !
0
shetan Messages postés 611 Date d'inscription   Statut Membre Dernière intervention   62
 
J'ai outrepasser cette histoire, j'ai créer un fichier.txt avec toute les entrées que je peux implémenter facilement.
De plus avec une boucle FOR je peut utiliser chaque ligne de ce fichier et lui ajouter le fameux >> %hostpath%

Merci de votre aide en tout cas.
0