[ligne de commandes] echo + redirecion marche pô!

echo + redirecion marche pô! [ligne de commandes] - Shell/Batch - Programmation

Marsh Posté le 02-09-2011 à 14:50:04    

Bonjour,
 
Sous Windows XP, je ne comprends pas pourquoi ceci
 

Code :
  1. echo (du texte)1>fichier.txt


génère un fichier texte contenant ceci (sans le 1 !)
 

Code :
  1. (du texte)


alors que si je mets un nombre > 10 par ex., ça fonctionne parfaitement.
J'ai trouvé en tâtonnant une parade en ajoutement un échappement (^1) à la place mais ça ne m'aide pas à comprendre la logique...
 
Merci pour votre aide.
 :)


---------------
P'tit guide sur l'encodage de la TNT HD  .  Resizer video
Reply

Marsh Posté le 02-09-2011 à 14:50:04   

Reply

Marsh Posté le 02-09-2011 à 15:26:08    

Probablement parce que 0> 1> ... 9> ça a un sens réservé en DOS.
http://www.robvanderwoude.com/redirection.php
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 02-09-2011 à 17:06:38    

Oui apparemment y'a de ça.
 

Code :
  1. command 1> file


en fait, c'est la même chose que

Code :
  1. command> file


et j'en conclus que c'est également la même chose que

Code :
  1. command1> file


comme dans mon exemple (sans l'espace)
 
Un autre exemple: echo 1>test.txt, et ben ça marche pas, faut le savoir  :sarcastic:  
 
Bon ben je vais gruger comme je peux.
Merci à toi  ;)


---------------
P'tit guide sur l'encodage de la TNT HD  .  Resizer video
Reply

Marsh Posté le 12-10-2011 à 21:59:15    

En fait le 1 signifie que tu redirige la sortie standard de ta commande echo dans le fichier, le 2 correspondant à la sortie erreur.
 
le ^ signifie que le caractère suivant ne doit pas être interprété par le shell.
 
exemple :
 
echo (blabla)1>test.txt = (blabla)
echo (blabla)^1>test.txt = (blabla)1
 
redirection de la sortie d'erreur sur la sortie standard :
 
ping -w 2>&1 1>erreur.txt = Une valeur doit être fournie pour l'option -w.
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed