[ Batch ] commande echo

commande echo [ Batch ] - Shell/Batch - Programmation

Marsh Posté le 17-07-2002 à 00:19:20    

sous command comment faire pour afficher ">" via une commande echo ?

Reply

Marsh Posté le 17-07-2002 à 00:19:20   

Reply

Marsh Posté le 17-07-2002 à 08:49:23    

La seule solution que je vois, c'est de mettre le > entre ".
 
Ex : echo ">"
 


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 17-07-2002 à 10:34:11    

spa bon car ca affiche aussi les "

Reply

Marsh Posté le 17-07-2002 à 11:08:14    

t'es sous 2000/NT ou Win9x ?
Car il y a des méthodes différentes pour éliminer des caractères d'une variable d'environnement. (je pense te trouver une solution avec une variable d'envt)
A+

Reply

Marsh Posté le 17-07-2002 à 11:27:34    

sous xp, je cherche les carractere d echappement..

Reply

Marsh Posté le 17-07-2002 à 11:57:08    

Après test : Avec echo, tu ne peux pas faire afficher > car l'interpréteur de commande considère qu'il s'agit d'une redirection de la commande.
Que veux tu faire exactement pour que je puisse essayer de trouver une solution...
A+

Reply

Marsh Posté le 17-07-2002 à 11:59:49    

ca va se compliquer un max alors,
 
je veux faire un "echo <? xml ... ?> > fihier.xml"
 
tu vois le pb ?

Reply

Marsh Posté le 17-07-2002 à 12:05:07    

non je vois pas...
Que veux tu obtenir dans ton fichier final ?
A partir de quoi ?
 
A+

Reply

Marsh Posté le 17-07-2002 à 12:09:08    

je veux via le prompt de dos crée un fichier XML
donc la commande est

echo contenu du fichier xml > nomdufichier.xml


or un fichier XML se presente comme ca :

<? XML ?type... ?>


donc la commande devrait etre :

echo <? XML ?type... ?> > nomdufichier.xml


or ca ne marche pas a cause de ">"
 
si tu sais comment ecrire dans un fichier en batch via dos
sans passer par echo, je suis preneur...

Reply

Marsh Posté le 17-07-2002 à 13:34:51    

up

Reply

Marsh Posté le 17-07-2002 à 13:34:51   

Reply

Marsh Posté le 17-07-2002 à 13:44:54    

Fait un batch qui fait le boulot, et des fichier qui contiennent les caractères interdit.
 
Exemple :
 
debut_xml.txt contient :

[g]<? xml [/g]


 
fin_xml.txt contient :

[g]?>[/g]


 
xml.bat contient :

[g]type debut_xml.txt > %2
echo %1 > %2
type fin_xml.txt > %2[/g]


 
Ensuite, tu appel xml.bat comme çà :

xml Contenu_de_mon_xml toto.xml


 
Et tu obtiens un fichier toto.xml qui contient :

[g]<? xml Contenu_de_mon_xml ?>[/g]


 
A toi de généraliser la techinque si tu veux un truc plus complexe.
 
Sinon, regarde du coté de WSH (Windows Scripting Host). Ca te permet de faire des batchs en JScript !
 


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 17-07-2002 à 14:07:32    

->mara's dad
Ta solution créera des sauts de ligne, ce qui fait que tu auras en sortie :
<? xml  
Contenu_de_mon_xml  
?>
 
A+

Reply

Marsh Posté le 17-07-2002 à 14:11:37    

Actuellement, j'arrive à faire :
 
<? xml Contenu_de_mon_xml  
?>  
 
Si je savais à partir de quoi tu tires contenu_de_mon_xlm je trouverais peut-être une solution
A+
 

Reply

Marsh Posté le 17-07-2002 à 14:16:35    

@REM -------------------------------------- FICHIER BATCH -----------------------------------------------
@echo off
@title ..:: Recherche ::..
@cls
@color f2
@c:
@cd\
@echo.
@echo --- ETAPE 1/2 ---
@echo.
@echo Recherche les fichiers JPG...
@dir /b /s *.jpg >jpg.txt
@echo Recherche les fichiers GIF...
@dir /b /s *.gif >gif.txt
@echo Recherche les fichiers HTML...
@dir /b /s *.htm* >htm.txt
@echo Regroupement des informations...
@copy jpg.txt+gif.txt+htm.txt all.txt
@echo Suppression des fichiers temporaires...
@del jpg.txt
@del gif.txt
@del htm.txt
@echo OK
@echo.
@echo --- ETAPE 2/2 ---
@echo.
@echo Recherche du mot : "test"...
@echo (--recherche--)(--mot--)test(--/mot--)(--resultat--) >find10.txt
@find /n /i "test" all.txt >find10a.txt
@echo (--/resultat--)(--/recherche--) >find10b.txt
@echo Regroupement des informations...
@echo (--?xml version='1.0' encoding='ISO-8859-1' ?--) >find0.txt
@copy find*.txt final.txt
@echo Suppression des fichiers temporaires...
@del find*.txt
@del all.txt
@echo OK
@REM echo Appuyez sur Entree pour afficher le fichier des resultats.
@REM pause >nul
@REM cls
@start ".$lettre.":\final.txt
@REM type final.txt
@REM pause >nul
@REM ------------------------------------ FIN FICHIER BATCH ---------------------------------------------


voila la source :D
le fichier batch est generé dynamiqement par un script php
j ai mis (-- et --) pour remplacer les < et > pour l instant...

Reply

Marsh Posté le 17-07-2002 à 14:32:18    

tu l'aurais dit plus tôt que c'était un texte fixe...
tu te crée directement avec un éditeur DOS ton fichier find0.txt contenant :
(<?xml version='1.0' encoding='ISO-8859-1' ?> )  
et ton problème est résolu...

Reply

Marsh Posté le 17-07-2002 à 19:26:42    

ba non, je peux pas faire ca, je suis pas sous dos :(
c'est un batch.

Reply

Marsh Posté le 19-07-2002 à 11:41:07    

aidez moi, spas résolut :(

Reply

Marsh Posté le 19-07-2002 à 13:06:17    

ça veut dire quoi " je suis pas sous dos" tu bosse sous linux ?
 

Reply

Marsh Posté le 24-07-2002 à 15:28:03    

Dans le même genre, je cherche le caractère de fin de ligne sous DOS...
Je suppose que c'est quelque chose comme ^M car ^ est le caractère d'échappement.
 
j-'-r> il faut que tu fasses echo ^> (je suis sous NT4 et ça marche)


---------------
Ganz kühl bleiben! JM. | Section Audio
Reply

Marsh Posté le 10-04-2003 à 16:56:49    

Je fais un vieux up des familles car j'ai le meme probleme.
 
J'ai besoin de faire un:
 
SET LIGNE="<HTML><BODY><HR>&%BBCOLOR% C:/Program Files/Tivoli/TSM/baclient/dsmsched.log<HR></BODY></HTML>"
 
ECHO %LIGNE% > un fichier
 
Probleme je dois mettre les " pour qu'il ne m'interprete pas la ligne, mais je ne veux pas que echo envoie les " dans le fichier...comment faire?

Reply

Marsh Posté le 11-04-2003 à 11:01:35    


Up

Reply

Marsh Posté le 28-11-2012 à 15:25:00    

Bonjour
 
Le message est un peu vieux mais comme je suis tombé sur ce sujet en cherchant à faire la même chose et  qu'en suite j'ai trouvé la solution. Je me suis dis que ce serait peut-être utile de la donnée ici aussi.
 
Voilà le lien qui explique bien http://fr.wikibooks.org/wiki/DOS/Echo
 
Il faut utiliser le caractère ^ pour pouvoir utiliser les caractères spéciaux.
 
Bonne journée

Reply

Marsh Posté le 12-04-2013 à 03:20:53    

alors en gros, pour certains caractères spéciaux, il faut les doubler...  
 
echo %1 lira la variable si lancé d'un batch mais écrira bien '%1' en prompt.
echo %%1 écrira '%1'.
echo ^^youpi écrira '^youpi'.
echo %var_myvar% écrira la variable 'var_myvar'
echo %%var_myvar%% écrira '%var_myvar%'
etc...  
le plus simple est de tester...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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