Batch : Lire et écrire dans des fichiers texte

Les scripts batch permettent de manipuler facilement des fichiers texte pour stocker des paramètres, consigner des journaux (logs) ou traiter des données.

Les opérations de base reposent sur des redirections (> et >>), ainsi que la boucle for /f pour lire ligne à ligne (voir liste des commandes).

Ce mini tuto sert d’aide-mémoire pratique.

Créer et écrire dans un fichier texte

Pour écrire, on redirige la sortie d’echo vers un fichier.

Commande Explications
> Création ou écrasement du fichier
>> Ajout en fin de fichier
@echo off
rem Créer ou écraser le fichier
echo Ligne 1 > fichier.txt
rem Ajouter sans écraser
echo Ligne 2 >> fichier.txt
echo Ligne 3 >> fichier.txt

Astuce : combinez avec l’horodatage (voir date & heure) pour nommer vos fichiers de log.

Lire un fichier ligne par ligne (for /f)

La boucle for /f lit un fichier texte ligne par ligne.

Vous pouvez récupérer la ligne entière ou parser des colonnes.

@echo off
for /f "usebackq tokens=* delims=" %%L in ("fichier.txt") do (
   echo Ligne lue : %%L
)
pause
Paramètre Explications
usebackq Permet d’utiliser des guillemets autour du nom de fichier
tokens Définit quelles colonnes (ou mots) sont extraites lors du découpage d’une ligne
delims Définit le ou les caractères séparateurs utilisés pour découper la ligne (par défaut : espace et tabulation)

Exemples

Journalisation (log) d’exécution

On crée un fichier log et on y ajoute des étapes avec date/heure. La variable est initialisée via set.

@echo off
set log=script_%date:~6,4%-%date:~3,2%-%date:~0,2%.log

echo %date% %time% : Début >> "%log%"
echo Traitement A... >> "%log%"
echo %date% %time% : Fin >> "%log%"

echo Log généré : "%log%"

Exemple : lire un CSV simple (point-virgule)

Voici comment lire un fichier CSV simple (ex. users.csv) en séparant les colonnes par ;.

@echo off
for /f "usebackq tokens=1,2,3 delims=;" %%A in ("users.csv") do (
   echo Utilisateur: %%A Email: %%B Rôle: %%C
)

Bonnes pratiques

Préférez les chemins entre guillemets, évitez les espaces en fin de lignes, et validez l’existence du fichier avant lecture.

@echo off
if not exist "fichier.txt" (
   echo Erreur : "fichier.txt" introuvable.
   exit /b 1
) 

 

X.com Facebook Email

Posté le 28-10-2025