73 votes

Comment faire écho à "2" (sans guillemets) dans un fichier, à partir d'un script batch ?

Comment faire écho au numéro 2 dans un fichier, à partir d'un script batch ?

Ça ne marche pas :

Echo 2>> file.txt

parce que 2>> est une commande spéciale :(

334voto

Raymond Chen Points 27887

Caractéristique peu connue : L'opérateur de redirection peut aller n'importe où sur la ligne.

>>file.txt echo 2

73voto

DMan Points 2437

Utilisez (ECHO 2)>>file.txt . Cela donnera 2 sans aucun espace.

0 votes

+1 OH MY GOSH c'est brillant ! Je n'y avais pas pensé du tout :)

0 votes

Sauf quand il y a des parenthèses (n'est-ce pas ?) :P Maintenant (c'est une question distincte, évidemment), comment puis-je faire écho à une nom de fichier arbitraire vers un autre fichier ? Il pourrait avoir des parenthèses, des guillemets, des chiffres, etc...

2 votes

Vous savez, je pense que je vais poser cette question séparément. :)

36voto

lavinio Points 12592

echo ^2>>file.txt semble fonctionner pour moi.

0 votes

Mais il y a toujours un CRLF derrière (ce qui nous donne 3 octets). Comment peut-on arrêter cela ?

0 votes

@Pacerier -- voir cette réponse pour savoir comment renvoyer le nombre 2 dans un fichier sans le CRLF derrière.

0 votes

@Pacerier Êtes-vous sûr qu'il s'agit d'une exigence de l'OP ?

31voto

Moe Sisko Points 3370

Utilisez le ^ s'échapper :

Echo ^2>> file.txt

0 votes

Quelle est la logique derrière tout ça ?

4 votes

@Pacerier - le "2" dans ce contexte aurait une signification particulière. Le caractère d'échappement ^ est donc utilisé pour traiter le "2" comme un caractère normal.

11voto

Kornel Kisielewicz Points 26556
echo.2>>text.txt

Oui, c'est bizarre.

4 votes

C'est bizarre, et cela ne fonctionne que s'il n'y a pas d'espace/tabulation ni aucun des éléments suivants ,;=( . Celui-ci echo.hello(you2>>text.txt échoue

0 votes

@Kornel, Mais il y a toujours un CRLF derrière (ce qui nous donne 3 octets). Comment peut-on arrêter cela ?

0 votes

La réponse à ce lien aquí montre comment renvoyer le nombre 2 dans un fichier sans le CRLF derrière.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X