Recherche…


Introduction

Une fonctionnalité utile des fichiers de commandes est la possibilité de créer des fichiers avec eux. Cette section montre comment créer des fichiers en utilisant un code de lot.

Syntaxe

  • echo (tapez ici ce que vous voulez dans le to be) >> (filename)
  • echo (nom de la variable) >> (nom du fichier)

Remarques

Si un fichier existe, > écrasera le fichier et >> s'ajoutera à la fin du fichier. Si un fichier n'existe pas, les deux créeront un nouveau fichier.

De plus, la commande echo ajoute automatiquement une nouvelle ligne après votre chaîne.

Alors

echo 1 > num.txt
echo 1 > num.txt 
echo 2 >> num.txt 

va créer le fichier suivant:

1
2

Pas ça:

1 1 2

ou

1 2

De plus, vous ne pouvez pas simplement modifier une seule ligne dans un fichier texte. Vous devez lire le fichier en entier, le modifier dans votre code, puis réécrire le fichier dans son intégralité.

Redirection

Format:

[command] [> | >>] [filename]

> enregistre la sortie de [command] dans [filename].

>> ajoute la sortie de [commande] dans [nomfichier].

Exemples:

  1. echo Hello World > myfile.txt enregistre "Hello World" dans myfile.txt

  2. echo your name is %name% >> myfile.txt ajoute "votre nom est xxxx" dans myfile.txt

  3. dir C:\ > directory.txt enregistre le répertoire de C: \ à directory.txt

Echo pour créer des fichiers

Façons de créer un fichier avec la commande echo:

ECHO. > example.bat (creates an empty file called "example.bat")

ECHO message > example.bat (creates example.bat containing "message")
ECHO message >> example.bat (adds "message" to a new line in example.bat)
(ECHO message) >> example.bat (same as above, just another way to write it)

Si vous souhaitez créer un fichier via la commande ECHO , dans un répertoire spécifique de votre ordinateur, vous risquez de rencontrer un problème.

ECHO Hello how are you? > C:\Program Files\example.bat

(This will NOT make a file in the folder "Program Files", and might show an error message)

Mais alors comment on le fait? Eh bien, c'est en fait extrêmement simple ... Lorsque vous tapez un chemin ou un nom de fichier contenant un espace dans son nom, n'oubliez pas d'utiliser "quotes"

ECHO Hello how are you? > "C:\Program Files\example.bat"
(This will create "example.bat" in the folder "Program Files")

Mais que faire si vous voulez créer un fichier qui génère un nouveau fichier?

ECHO message > file1.bat > example.bat

(example.bat is NOT going to contain "message > file1.bat")
example.bat will just contain "message"... nothing else

Alors comment on fait ça? Eh bien pour cela, nous utilisons le symbole ^ .

ECHO message ^> file1.bat > example.bat

(example.bat is going to contain "message > file1.bat")

Même chose pour d'autres choses en lot

L'étape suivante nécessite de connaître les variables et les instructions:

cliquez ici pour en savoir plus sur les variables | Cliquez ici pour en savoir plus sur les déclarations if et else

Variables:

SET example="text"
ECHO %example% > file.bat
(This will output "text" to file.bat)

Si nous ne voulons pas que "text" soit affiché mais simplement "% example%", alors écrivez:

ECHO ^%example^% > file.bat
(This will output "%example%" to file.bat)

Instructions IF / ELSE:

ELSE statements are written with "pipes" ||

IF ^%example^%=="Hello" ECHO True || ECHO False > file.bat

(example.bat is going to contain "if %example%=="Hello" echo True")
[it ignores everything after the ELSE statement]

pour sortir toute la ligne, on fait comme avant.

IF ^%example^%=="Hello" ECHO True ^|^| ECHO False > file.bat

This will output:
IF %example%=="Hello" ECHO True || ECHO False

Si la variable est égale à "Hello" alors elle dira "True", sinon elle dira "False"

Enregistrer la sortie de nombreuses commandes

Utilisation de nombreuses commandes ECHO pour créer un fichier de commandes:

(
  echo echo hi, this is the date today
  echo date /T
  echo echo created on %DATE%
  echo pause >nul
)>hi.bat

L'interpréteur de commandes traite l'ensemble de la section entre parenthèses sous la forme d'une seule commande, puis enregistre toutes les sorties dans hi.bat .

hi.bat contient maintenant:

echo hi, this is the date today
date /T
echo created on [date created]
pause >nul


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow