batch-file
Création de fichiers à l'aide de lots
Recherche…
Introduction
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:
echo Hello World > myfile.txt
enregistre "Hello World" dans myfile.txtecho your name is %name% >> myfile.txt
ajoute "votre nom est xxxx" dans myfile.txtdir 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