• 4 heures
  • Facile

Mis à jour le 30/01/2018

Manipuler les fichiers et les dossiers

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Vous êtes toujours vivant les amis ? 

Oui ? Peu importe, bienvenue dans la deuxième partie de ce tutoriel dans laquelle nous allons terminer de parler des commandes essentielles, puis nous passerons à l'automatisation des tâches. :)

Prêt ?

Let's go ! 

Introduction

Il est courant d'avoir recours à la création ou la suppression de fichiers ou de dossiers en Batch. Les exemples sont nombreux : pour faire un programme d'installation, pour créer un fichier où l'on stockera les meilleurs scores d'un jeu, faire un programme qui permet de trier ses photos par année et de les ranger dans des dossiers...

Dans ce chapitre, nous allons voir plus précisément deux types commandes : celles pour manipuler des dossiers et celles pour manipuler des fichiers.

Manipuler les dossiers

Nous y voilà. Dans cette sous-partie, la commande magique est... mkdir make directory »), qui créer un dossier.

Et si le dossier existe déjà, qu'est-ce-que l'ordinateur va faire ?

Allons, votre curiosité sans limites peut être satisfaite en essayant ! Pour essayer, créez un dossier avec un fichier dedans, puis essayez de recréer ce dossier. Allez, au boulot. :ninja:

Exemple :

mkdir hello_les_zeros

Et on peut bien évidemment supprimer ce dossier, sinon ce serais pas drôle (quoi que 11 ). Pour cela, rmdirremove directory ») . :)

Voyons voir comment manipuler les dossiers.

Les commandes

Commande

Signification

mkdir [DOSSIER]

Crée le dossier [DOSSIER]

rmdir [DOSSIER]

Supprime le dossier [DOSSIER]

(echo)>[FICHIER]

Crée un fichier texte nommé [FICHIER]

Test

Essayons !

@echo off
mkdir Bonjour-Les-Zeros

Exécutons maintenant la requête en lançant notre fichier .bat.

Et voilà, Notre dossier est créé !

Fichier texte

Nous avons vu dans le tableau la commande

(echo)>test2.txt

Nous pouvons aussi mettre du texte à l’intérieur dès le début en ajoutant quelque chose à la place d’echo.
On peut y mettre plusieurs lignes.

Exemple:

(echo bonjour tout le monde!
echo Encore)>bonjour.txt

Sachez aussi qu'il est possible de mettre des espaces dans les noms de fichiers, il faut simplement utiliser des doubles guillemets. Il faut aussi les mettre si vous remplacez  le nom du fichier par une variable, ce qui donnerai echo jesaispasquoi >"%mavariable%". Etrange syntaxe, mais correcte :).

Manipuler les fichiers

Voici quelques commandes utiles pour manipuler les fichiers :

Commande

Signification

echo [MESSAGE] > [FICHIER]

écrit [MESSAGE] dans le fichier [FICHIER] (remplace tout le contenu déjà existant et crée le fichier s'il n'existe pas)

echo [MESSAGE] >> [FICHIER]

écrit [MESSAGE] dans le fichier [FICHIER] (ajoute [MESSAGE] à la fin du fichier (dans une nouvelle ligne))

ren [ANCIEN NOM] [NOUVEAU NOM]

change le nom du fichier [ANCIEN NOM] par [NOUVEAU NOM]

type [FICHIER]

affiche le contenu du fichier [FICHIER] (syntaxe alternative : more [FICHIER])

Exemples

::Créer le dossier TutoBatch
mkdir TutoBatch

::Ecrit Bonjour à tous les zéros dans le fichier sdz.oc
echo Bonjour à tous les zéros! > sdz.oc

::Ajoute une ligne
echo Je vous annonce que ceci est une nouvelle ligne! >> sdz.oc

::Renomme le fichier
ren sdz.oc EtoileFilanteWorld.oc

::Affiche le fichier
more EtoileFilanteWorld.oc

Mais, mais, mais mais !  .oc ? Genre oc pour openclassrooms ? Tu as inventé un nouveau type de fichier ?

C'est l'avantage d'être un magicien. :magicien:

À la place de .oc, j'aurais pu mettre .txt, cela n'aurait rien changé.  Au début du tutoriel, nous avons dit que l'extension permettait de savoir dans quel format le texte est encrypté et quel programme peut le décrypter.

Par exemple, imaginez que quelqu'un veuille créer un éditeur de texte pour le langage Java. Sur cet éditeur, les utilisateurs ont la possibilité de mettre du texte en gras. Si l'on sauvegardait le texte tout simplement sans spécifier quel texte est en gras et que l'on ouvrait ce fichier avec l'éditeur ou avec bloc note, on n'aurait plus de gras. On va donc créer un nouveau format de fichier avec une extension particulière, pour prendre en compte le texte en gras.

Dans notre cas, on va dire que pour sauvegarder le texte en gras correctement, on va mettre une balise <gras> pour dire quand le texte en gras commence et </gras> pour dire quand il finit. L'éditeur que l'on a créé détecte ces balises, met en gras le texte entre les balises et rend invisible les balises pour ne pas gêner la lecture. Par contre, si on l'ouvre avec bloc note qui ne connait pas notre format, on aura le texte avec les balises, et le texte entre ces balises ne sera pas mis en gras. Pour informer l'utilisateur que l'on a besoin d'utiliser notre éditeur pour lire des fichiers du format créé, on utilise une extension différente que celle de base des fichiers texte, .txt.

Voilà voilà. :) 

C'est bien gentil, mais si tu ne nous dis pas comment LIRE un fichier, on est mal.

Si si, j'en ai parlé lors des boucles, qui sont en effet le moyen efficace de lire un fichier ligne par ligne.

Pour rappel, voici la syntaxe

for /f "tokens=*" %%a in (test.txt) do (
 echo %%a
)

Continuons !

Exemple de certificat de réussite
Exemple de certificat de réussite