• Navigation

    :o ... :waw: ... quelqu'un a cliqué sur le lien vers le premier chapitre, j'en reviens pas o_O !!! YEEHAAA :D !

    Eh bah alors, mais ça alors, si je m'y attendais, mais là alors, C'EEEESST PARTIIII, on va apprendre le premier truc à savoir pour pouvoir se servir correctement d'un OS : la navigation dans celui-ci.

    M'alors, kesske t'attends moussaillon ? LARGUE LES AMARRES, NOMDIDIOU !!

    Avant toute chose : lancer "l'invite de commandes"

    :o Hum... bien, bel enthousiasme... mais :euh: comment on le lance, DOS ? Et puis d'abord, quel intérêt de l'apprendre ?


    Ah... le DOS ! À quoi il sert ? Pour vous répondre franchement : à pas grand-chose, et à encore moins depuis qu'il n'est plus une sous-couche de Windows ^^ .

    Malgré tout, il peut être utile dans certains cas :
    • certaines commandes DOS se retrouvent dans des langages de programmation actuels, ou en tout cas il existe des sortes de "ponts" avec le DOS, particulièrement dans tout ce qui est console : console en C, sous Linux etc. ;
    • rien qu'à voir on ne peut pas dire qu'il ait totalement disparu :p ;
    • "culturellement", c'est toujours intéressant de voir comment marchaient les machines avant... ;
    • certaines caractéristiques du DOS se retrouvent sous Windows, d'où, parfois (mais bien rarement :p ), une meilleure compréhension de son PC ;
    • dans certains cas, le DOS permet de faire des choses dont Windows est incapable, du moins aussi rapidement et / ou précisément ;
    • c'est pas LA Classe :soleil: de pouvoir déclarer "Le DOS ? Pfiou :-° , je maîtrise !" (non, non, ce n'est pas ironique :p ).


    Allez, en bonus, je vous donne une ligne d'histoire ^^ .
    Tout commença lorsqu'IBM voulu lancer le PC (Personal Computer). Celui-ci devant avoir un OS (Operating System = système d'exploitation), IBM appelle Microsoft pour qu'elle lui en concocte un. PC-DOS, qui prendra ensuite le nom de MS-DOS (Microsoft Disk Operating System), était né et le 26 août 1981, ce fameux PC arrivait sur le marché.

    Et pour le lancement de cet OS, quoique vous le sachiez peut-être, il était bon de le rappeler
    Pour lancer DOS, il y a plusieurs solutions.
    Si vous disposez d'un ordinateur encore capable de le faire, vous pouvez toujours redémarrer en mode MS-DOS. Avantage : vous serez en plein dedans, inconvénient : vous n'aurez pas de fenêtre internet avec ce cours devant vous... Je ne vous recommande donc pas cette méthode ^^ .

    Sinon, l'idéal est de lancer l'invite de commandes (command prompt en anglais). D'ailleurs, tout au long de ce cours, je vais vous demander une chose : toujours l'avoir ouverte sous les yeux pour tester par vous-mêmes tout ce que je vous indiquerai : il n'y a pas de meilleur moyen pour apprendre quoi que ce soit que de pratiquer par soi-même. Pour le lancer, vous avez deux solutions :
    - démarrer > Programmes > Accessoires > Invite de Commandes ;
    - ou démarrer > Exécuter... (raccourci clavier : touche Windows + R), une fenêtre comme celle ci-dessous s'affiche ; entrez cmd et tapez Entrée (ou cliquez sur OK) et c'est bon.

    Image utilisateur

    Dans tous les cas, vous aurez...


    cd : changer de répertoire

    ... votre fenêtre DOS, toute noire, avec un peu de texte, devant vos yeux médusés par tant de splendeur.
    Question :
    Que remarquez-vous ?


    Après une ou deux lignes de copyright, vous voyez écrit juste en dessous quelque chose comme ceci :

    Image utilisateur
    Cette ligne peut ne pas être la même chez vous, ne vous inquiétez pas pour ça.


    DOS vous a indiqué l'endroit où vous vous trouvez : dans l'exemple, vous êtes dans le dossier Bidule qui est sous-dossier du dossier Machin, lui-même sous-dossier du dossier Truc se trouvant dans le dossier Dossier sur le disque C (enfin, là, je ne crois pas vous avoir appris grand-chose :p ). Ce chemin d'accès se termine par >. Le "tiret du bas" (qui s'appelle underscore) qui clignote est en fait votre curseur (comme la barre verticale clignotante sous un traitement de texte).

    Accélérons maintenant le pas : nous allons REVENIR dans le dossier parent : donc, dans Machin.

    D'abord... eh bien... l'icône très pratique du dossier parent Image utilisateur n'existe pas ! En effet, sous DOS, tout se tape au clavier, y a pas de souris ! Donc ce sera un peu plus compliqué : il vous faudra utiliser une commande bien pratique : cd (en anglais, change directory, changer de répertoire).

    Il existe une autre commande que cd ayant le même effet : il s'agit de chdir ; enfin, personnellement, j'ai tendance à aller vers le plus court, ne vous étonnez donc pas si je marque partout cd au lieu de chdir :p .


    Pour revenir un dossier en arrière, tapez tout simplement :
    Code : Console
     
    cd ..

    Soit cd suivi de deux points.

    Et vous vous retrouvez dans le dossier parent o_O (ici Machin) !

    Image utilisateur

    Ainsi, si vous voulez revenir à la racine du disque (c'est-à-dire à "C:\"), vous pouvez taper, jusqu'à y arriver, la commande cd..

    Image utilisateur

    Eh, mais c'est pas un peu répétitif, ça ??


    Si, un peu ^^ . Mais il y a un raccourci !
    Pour exécuter la même commande qu'auparavant, appuyez sur la touche flèche droite ou sur F1, tous les caractères de la commande précédente s'afficheront un à un. Vous n'avez plus qu'à appuyer sur Entrée au bon moment et voilà ;) !

    :euh: Ah oui, ok, mais si on n'a pas la patience d'attendre que tous les caractères s'affichent un par un ? Oui, bon, pour là, ça va, ce n'est pas long, mais imaginons que notre commande fasse 20 caractères...


    Oui, il y a encore un autre raccourci : F3 permet d'afficher tous les caractères de la commande précédente d'un coup (en bref, d'utiliser la même commande rien qu'en appuyant sur Entrée juste après ;) ).

    Tiens mais, je me disais... pour revenir à la racine du disque, on pourrait pas tout simplement entrer cd c:\ ?


    C'est vrai ^^ . Mais, sous DOS, la racine du disque porte aussi un nom : \. Ainsi :

    Code : Console
     
    cd \


    Image utilisateur

    Tapez bien cd \ pour revenir directement à la racine : un cd / vous renverra au dossier courant.


    ... aura le même effet que (si vous vous trouvez sur le disque C:) :

    Code : Console
     
    cd c:\


    Image utilisateur

    Enfin, je préfère en général la première version ;) .

    :waw: Merci beaucoup pour tout ça, mais je commence à me demander un truc : c'est pas en restant sur la racine ou en revenant perpétuellement en arrière que je vais aller quelque part, moi !! Comment on fait pour ENTRER dans un dossier ?


    J'allais y venir :p ; pour entrer dans un dossier, il vous suffit de taper :

    Code : Console
     
    cd leNomDuDossier


    Ne pas oublier l'espace ici : si vous ne l'entrez pas (cdLeNomDuDossier), DOS ne reconnaîtra pas votre commande (bah oui... pour lui, la commande sera cdLeNomDuDossier, commande qu'il ne connaît pas...) et vous aurez droit à un message d'erreur :( . Il en va de même avec les autres commandes : toujours les séparer du reste à l'aide d'un espace.


    Et vu que je me trouve en ce moment sur la racine du disque, si je veux entrer dans Dossier, il suffit que je tape :

    Code : Console
     
    cd dossier


    Image utilisateur

    Il se peut, si vous avez une version plus ancienne de DOS, qu'il vous faille mettre des guillemets autour de votre nom de dossier si celui-ci contient des espaces (ex. : cd "mes documents").


    DOS ne respecte pas la casse, c'est-à-dire que vous pouvez tout aussi bien entrer des majuscules que des minuscules, cela n'a pas d'importance : seules importent les lettres utilisées. Donc, pour la commande ci-dessus, j'aurais pu tout aussi bien écrire CD DOSSIER ou CD dossier, voire encore cD DoSsIeR ^^ .


    Oui ? Qu'est-ce qui ne va pas ? J'ai dit quelque chose ?

    Donc en fait, on marche à l'aveuglette et on doit connaître par coeur le nom de tous nos dossiers et sous-dossiers pour y entrer :'( ??


    Rassurez-vous, chers Zér0s : bien que cette méthode soit aussi une solution (quoique pour le moins radicale :p ), il existe une autre commande bien pratique qui peut remplacer cet effort mental : dir.


    dir, pour ne pas avoir à tout mémoriser

    Votre sauveur a cette apparence-là :

    Code : Console
     
    dir


    Tout simplement :D .

    Lorsque vous entrez cette commande, tout ce qui se trouve dans le dossier où vous vous trouvez sera affiché à l'écran. On va étudier plus en détail ce que signifie tout ce qui s'affiche, et pour ça, rien de tel qu'une bonne petite image ^^ .

    Image utilisateur


    D'abord (1) deux lignes, qui ne nous intéressent pas tellement, indiquant le nom du volume du disque actuel ainsi que son numéro de série.

    Ensuite (2) le chemin d'accès du dossier scanné.

    Tout en bas (3) deux autres lignes, déjà plus intéressantes : l'une indique le nombre de fichiers dans le dossier courant ainsi que la place totale qu'ils occupent (pour convertir : 1000 octet = 1 Kilo-octet (Ko) ; 1000 Ko = 1 Méga-octet (Mo) ; 1000 Mo = 1 Giga-octet (Go) etc.), l'autre, le nombre de sous-dossiers du dossier courant ainsi que la place restée libre sur le disque dur.

    Une liste (4) indiquant tout ce qui se trouve dans le dossier. On va s'y intéresser de plus près.

    À gauche (a), la date et l'heure de la dernière modification du dossier ou fichier se trouvant sur cette ligne.

    À droite (b), le nom du fichier ou dossier.

    Au centre (c), deux cas :
    1. la ligne se réfère à un fichier : on a la place qu'il occupe, en octets ;
    2. la ligne se réfère à un dossier : il est inscrit <REP> (ou <DIR> en anglais), ce qui veut dire répertoire, un autre nom pour "dossier".


    1) Si vous regardez en haut de la liste, vous aurez toujours (sauf si vous vous trouvez directement sur la racine du disque) deux dossiers : un sera appelé ".", l'autre ".." . "..", vous l'avez deviné :) , il s'agit de notre dossier parent. "." est, quant à lui, le dossier courant (ici Dossier).

    2) Il se peut, si vous utilisez un vieux coucou à la place d'un ordinateur une machine qui n'est pas des plus récentes (ou si vous avez une version ancienne de DOS), que vous rencontriez ceci :
    NomDuFichierOuDuDossier~1.extensionDuFichierSiCenEstUn
    dans la colonne de droite. Ne vous inquiétez pas : c'est normal. Il faut savoir qu'à l'origine, le nombre de caractères pour nommer un fichier ou un dossier était limité à 8... et ainsi, si votre fichier ou dossier en contient plus que ce nombre, DOS affiche les 6 premiers caractères puis ~1 (deux caractères)... vous devrez donc en déduire le nom complet de votre fichier ou dossier pour pouvoir l'utiliser... (d'ailleurs, sous Windows, quelle que soit votre version de DOS, cliquez droit sur un fichier ou dossier de plus de 8 caractères, puis sur Propriétés et regardez le nom MS-DOS : vous aurez le ~1).

    3) Pour afficher le contenu d'un dossier autre que le dossier courant, entrez juste :
    Code : Console
     
    dir dossierDontVousSouhaitezAfficherLeContenu
    .


    En tapant donc dir dans un dossier, vous connaissez, avec les fichiers, le nom de tous les sous-dossiers présents à l'intérieur, ce qui vous permet ensuite d'entrer le fameux cd LeNomDuDossier sans problème ;) .

    :) Pas bête... mais, on devra alterner les cd et les dir à chaque fois ? Y aurait pas un raccourci pour faire apparaître directement la commande précédant la précédente ?


    Oui, il y en a un ^^ .
    Appuyez sur les touches flèche haut et flèche bas. Et :o les commandes que vous avez tapées précédemment s'afficheront. Plus vous appuyez sur la flèche du haut, plus vous remontez le temps et plus vous appuyez sur la flèche du bas, plus vous vous rapprochez du présent... magique :magicien: .

    Nota : ça m'étonnerait que cette histoire de flèche du haut et flèche du bas existait avant les versions récentes de DOS... il se peut donc que cela ne marche pas sur votre machine si celle-ci est plus ancienne...


    Tiens, au fait, j'avais oublié de préciser : avec cd, vous pouvez aussi entrer dans le dossier dans lequel vous voulez aller :

    Code : Console
     
    cd dossier\sousDossier


    Et vous vous retrouverez d'un coup dans sousDossier ;) .

    Il existe deux types de chemins d'accès : les chemins d'accès relatifs, les plus utilisés, qui tiennent compte du dossier courant ; ceux-ci commencent par le dossier dans lequel vous souhaitez aller, sans rien devant (exemple : cd dossier\sousDossier\etc.), sous-entendu, dossier se trouvant dans le dossier actuel, et les chemins d'accès absolus, moins courants, qui partent de la racine d'un disque ; ceux-ci commencent par Disque:\ et ne tiennent pas compte du dossier actuel, exemple : cd C:\Dossier\sousDossier\etc.. "\" est quant à lui un chemin relatif, car il part du dossier courant sans changer de disque, même si on peut le considérer parfois comme chemin absolu.


    Maintenant, si l'on suit l'exemple, comme on se trouve dans le dossier Dossier, si l'on veut aller directement dans le dossier Machin, on peut sans problème entrer :

    Code : Console
     
    cd truc\machin


    et on aura :

    Image utilisateur

    Oui, d'accord, c'est bien tout ça... mais comment fait-on pour entrer directement dans un sous-dossier si dir n'indique que ce qu'il y a dans le dossier courant ?


    Détrompez-vous, honorables Zéros ! dir ne nous a pas encore montré tout ce dont il était capable ;) .


    Les commutateurs

    :o Ouh là, c'est quoi, ce truc barbare ? Et c'est quoi le rapport avec ma question ?


    Vous inquiétez pas : les commutateurs (ou switchs en anglais), c'est capital, mais très facile à saisir ^^ . Quant au rapport... on ne peut faire plus rapporté :p .

    Un commutateur, c'est, en gros, comme une option à rajouter à votre commande : elle fera la même chose, avec plus ou moins de différences. Il se compose de deux choses : un slash / suivi en général d'un seul caractère.

    Concrètement :

    Code : Console
     
    /caractereDuCommutateur


    Et comme il complète une commande, ça donne :

    Code : Console
     
    commande /caractereDuCommutateur


    Ah ok... et pour répondre à ma question ?


    Pour répondre à votre question, tapez dans votre invite de commandes :

    Code : Console
     
    dir /s


    Et là :magicien: ...

    Image utilisateur

    Note : commande ayant provoquée ceci : dir /s lancée depuis C:\Dossier ; j'ai coupé les deux lignes du haut, pas très intéressantes.


    Vous avez votre commande dir qui fait son boulot : pareil, vous avez le nom du disque ainsi que son numéro de série ; pareil, vous avez la date, l'heure, les noms des fichiers et des dossiers. Différence due au commutateur /s : dir fait ensuite pareil pour TOUS les sous-dossiers contenus dans le dossier scanné.

    Pour chaque dossier scanné : le chemin d'accès du dossier suivi de la fameuse liste et pour chacun, un sous-total du nombre et de la taille totale des fichiers présents, mais pas des dossiers (normal : dir s'en occupera juste après).
    À la fin, le grand total : nombre total et place totale des fichiers trouvés dans tous les dossiers, et nombre total de dossiers et sous-dossiers. Attention : le nombre total de dossiers est compté en terme de dossiers contenus dans le chemin d'accès (en bref : C:\Dossier\Autre Dossier compte pour 3 : un pour C:\, un pour Dossier, un pour Autre Dossier... vous ne croyiez quand même pas qu'il y avait vraiment 20 sous-dossiers en tout pour si peu de texte, si :p ?).

    Eh ! D'ailleurs, pour tester : allez dans un dossier contenant beaucoup, beaucoup de sous-dossiers et de fichiers (la racine de votre disque dur fera certainement l'affaire...) et lancez cette commande (dir /s).

    Que remarquez-vous ?

    :o Pfiouuu, c'est sacrément long, dis-moi ! Comment fait-on si l'on n'a pas la patience d'attendre que ça se termine tout seul ?


    Pour répondre à votre question : appuyez sur Ctrl + C, le processus en cours sera interrompu. C'est aussi le cas pour toutes les autres commandes : vous en avez assez d'attendre ? Ctrl + C, et c'est terminé :D !
    Pour élargir un peu : imaginons un instant que vous vouliez voir tout ce qui défile... le problème, cette fois-ci, est que ça défile tellement vite que vous êtes tout simplement incapable de tout lire ! Évidemment, vous pouvez décider, une fois la commande effectuée, de remonter tout en haut en utilisant "l'ascenseur" à droite de votre fenêtre, mais il existe une autre solution : le commutateur /p (rappelons d'ailleurs que ledit ascenseur n'existait pas avant l'apparition de Windows...).

    Vous pouvez donc écrire :

    Code : Console
     
    dir /p


    Et, lorsque toute la fenêtre sera remplie de texte, votre commande dir fera afficher gentiment... :

    Image utilisateur

    ... vous laissant ainsi le temps de lire tranquillement puis d'appuyer sur une touche pour voir la suite.

    Waw ! Pas mal... mais, avec seulement un dir qui ne regarde pas dans les sous-dossiers, il y a plutôt peu de chances que l'on rencontre ce problème, non ?


    C'est vrai ^^ , enfin, vous avez sûrement des dossiers avec un nombre considérable de fichiers et sous-dossiers juste dedans (je pense particulièrement à Mes Documents ou encore à Windows...).

    Enfin bref, bonne nouvelle : vous pouvez cumuler les commutateurs, on peut donc envoyer un dir avec à la fois le commutateur /s (exploration des sous-dossiers) et le commutateur /p (pause à chaque fenêtre pleine). Concrètement, ça donne :

    Code : Console
     
    dir /s /p


    1) Vous n'êtes pas obligés de mettre des espaces entre chaque commutateur (dir /s/p) ; cependant, je vous recommande de les mettre : c'est toujours plus lisible.

    2) L'ordre des commutateurs n'a pas d'importance : on aurait pu tout aussi bien placer le /p avant le /s ; ici, vous faites totalement selon votre humeur :) .


    Sinon, il reste une chose (et une seule) que l'on n'a pas vue avec cd : je ne vous ai pas dit comment changer de disque.

    Tiens, c'est vrai ça, comment fait-on ?


    Eh bien, comme nous sommes dans la sous-partie des commutateurs, vous vous doutez bien que ça a un rapport avec ^^ . On utilisera le commutateur /d.

    Votre commande cd pour changer de disque aura comme forme :

    Code : Console
     
    cd /d disque:


    Ici, il faut impérativement placer le commutateur avant le nom du disque... nous verrons dans peu de temps que ce n'est pas le cas pour toutes les commandes, chaque commande ayant sa syntaxe propre.


    Ainsi, si vous voulez vous rendre sur le disque d:, il vous suffira d'entrer :

    Code : Console
     
    cd /d d:


    Image utilisateur

    Et voili :) !

    Apparemment, il existe un raccourci qui permet de changer de disque : il suffit de marquer le nom du disque, tout seul :
    Code : Console
     
    d:
    a le même effet que Code : Console
     
    cd /d d:
    Personnellement je ne le savais pas (merci Plastok ;) ) et ne peux donc vous dire si c'est une méthode "assurée", qui marche à tous les coups... enfin, bref, je vous la donne, même si dans la suite du tuto j'utiliserai le commutateur /d ;) .


    Ne pas oublier les deux points après le nom du disque...
    Image utilisateur


    Lorsque vous changez de disque, MS-DOS mémorise l'endroit où vous étiez sur le disque précédent avant le changement. Ainsi, si vous étiez sur C:\dossier\autreDossier et que vous tapez cd /d d:, vous vous retrouverez sur le disque D: (jusque-là, rien de bien nouveau, j'imagine :p ) et de là, si vous tapez cd /d c:, vous ne vous trouverez pas sur C:\, mais bel et bien sur C:\dossier\autreDossier... :magicien: magique, non ?
    Pour illustrer, je reprends mon exemple :
    Image utilisateur

    De même, si vous entrez, par exemple (c'est pareil pour tous les disques) : cd d:, DOS n'ira pas sur D: mais vous affichera l'emplacement où vous vous trouverez si vous tapez cd /d d:.

    Et si vous entrez cd tout seul... DOS vous affichera une information que vous avez déjà : l'emplacement où vous vous trouvez sur le disque sur lequel vous vous trouvez, aucun intérêt donc :p (pour l'instant ; on verra dans une partie ultérieure que, parfois, il n'est pas marqué à chaque ligne l'endroit où vous êtes... un cd se révèle donc bien utile... enfin bon, là, on ne parle déjà plus des bases ;) ).

    Enfin, si vous voulez entrer, par exemple, depuis D:, directement sur la racine du disque C:, ne tapez pas cd /d c: mais bien cd /d c:\, l'antislash est là pour ça (sinon, dans l'exemple, avec un simple cd /d c:, vous vous seriez retrouvé sur C:\Dossier\Truc\Machin) :

    Image utilisateur


    Pour cd, on a fait le tour, quant à dir... il ne nous a pas encore révélé tous ses secrets, loin de là... nous le retrouverons dans peu de temps, un peu de patience donc ^^ .

    Bon eh bien, il est maintenant temps d'attaquer la dernière sous-partie avant le bilan et les exos (eh oui, déjà...).


    Visualiser une arborescence sous DOS

    Vous savez ce qu'est une arborescence ? Par exemple, dans l'explorateur Windows, à gauche, vous avez une sorte d'arbre avec tous les dossiers (la racine est en haut : c'est la racine du disque, car c'est de là que partent les branches, branchettes, brindilles, etc.).

    Eh bien, sous DOS, on peut aussi la visualiser o_O , ce qui est parfois plus pratique qu'un dir /s plein de texte sans âme.

    Pour cela, une commande : tree (arbre en anglais).
    Allez donc dans le dossier dont vous voulez voir l'arborescence et entrez :

    Code : Console
     
    tree


    Image utilisateur

    Là aussi, vous avez deux lignes pas très intéressantes en haut, suivies enfin de l'arbre. Peut-être êtes-vous étonnés par la racine de cet arbre ("C:."), un petit rappel s'impose donc.
    Nous avons vu que "." était le dossier courant... eh bien, "." contient en fait aussi tout le chemin d'accès qui y mène... ainsi, le dossier "C:." n'est rien d'autre que votre dossier courant sur le disque C:, bah oui :p . D'ailleurs, pour tester, entrez comme commande cd . . Là, normal, vous verrez s'afficher la même chose qu'à la ligne juste au-dessus. Eh bien, cd C:. a le même effet, si tant est que vous vous trouviez sur le disque C:, voilà, voilà ;) .



    :o Pas mal... mais ils sont où, les fichiers, là-dedans ??


    Rhô, un peu de patience ^^ , tout comme pour cd et dir, tree possède ses propres commutateurs, au nombre de deux : /a et /f.

    Le commutateur /f



    Code : Console
     
    tree /f


    Image utilisateur

    Voilà qui répond à votre question : tree affichera les dossiers ET les fichiers :) (bon, vous aurez remarqué qu'il y a moins d'infos à leur sujet qu'avec dir... à chaque commande ses caractéristiques :D ).

    Voyons maintenant le second commutateur.

    Le commutateur /a



    Code : Console
     
    tree /a


    Image utilisateur

    Ce commutateur permet d'afficher les branches, branchettes, branchiolettes et brindilles de toutes sortes avec des caractères ASCII... . Si vous pensez que c'est juste pour faire joli, détrompez-vous, ce commutateur n'est pas QUE d'ordre esthétique, nous en verrons un second intérêt dans la deuxième partie.

    Comme pour dir, vous pouvez spécifier un chemin d'accès
    et le tree se fera à partir du dossier précisé, sans faire changer le dossier courant.



    Eh bien voilà, vous avez planté vos premiers arbres sous DOS, il est temps de passer à autre chose ^^ .


    Deux astuces en plus : historique et echap

    Ah oui, j'oubliais : à la fin de chaque chapitre, vous aurez une autre sous-partie, quasiment hors sujet, que je ne savais pas où mettre... en général, elle sera reliée par un tout petit lien très fragile au reste, mais aura toujours un quelconque intérêt, je vous l'assure :p .

    Premier petit lien très fragile : l'histoire des flèches haut et bas.
    Citation : Ce cours, troisième sous-partie (dir)
    Appuyez sur les touches flèche haut et flèche bas. Et :o les commandes que vous avez tapées précédemment s'afficheront. Plus vous appuyez sur la flèche du haut, plus vous remontez le temps et plus vous appuyez sur la flèche du bas, plus vous vous rapprochez du présent... magique :magicien: .


    Ça ne vous fait penser à rien, le petit texte ci-dessus ? À un historique, peut-être... ?
    Eh bien oui, DOS mémorise toutes les commandes que vous entrez, ceci dans l'ordre chronologique... et cet historique est visualisable : la touche pour le faire apparaître est F7.

    Une fois l'historique affiché, vous pourrez choisir une commande avec les touches haut et bas puis l'exécuter avec Entrée.

    Si à un moment vous souhaitez effacer l'historique, appuyez sur Alt + F7.

    Je crois que j'y reviendrai dans la seconde partie, l'historique est en fait bien plus puissant qu'il n'en a l'air ;) .



    Enfin, deuxième petit truc HS dont vous aurez peut-être besoin par la suite, quand vous aurez des commandes contenant beaucoup de caractères : pour effacer intégralement la ligne que vous êtes en train d'écrire, au lieu de maintenir enfoncé le Bksp (touche située au-dessus de la touche Entrée), appuyez une fois sur ECHAP, l'effet sera le même ^^ .

     
    Quasiment toujours, vous aurez aussi avec chaque chapitre un ou des exercices (plus le QCM). Leur but ? Vérifier que vous avez assimilé l'essentiel ; donc, que vous maîtrisez le bilan. Pour les autodidactes, c'est aussi comme cela qu'ils verront s'ils ont tout compris par eux-mêmes ou s'il leur manque quelque chose. Pour ce chapitre, l'exercice ne risque pas d'être des plus intéressants... mais je vous conseille tout de même de le faire ^^ .

    Énoncé


    • Rendez-vous dans le dossier C:\Program Files\.
    • Choisissez-y un dossier et progressez le plus loin possible à l'intérieur, de sous-dossiers en sous-dossiers.
    • Revenez ensuite à la racine sans utiliser le raccourci direct.
    • Faites la même opération, mais en choisissant un autre dossier dans Program Files.
    • Revenez sur la racine avec le raccourci.
    • Démarrez un dir dans tous les dossiers et sous-dossiers, puis interrompez.
    • Allez dans un dossier avec beaucoup de fichiers mais pas trop.
    • Démarrez un dir de façon à pouvoir lire tout ce que contient le dossier sans devoir toucher à "l'ascenseur" par la suite.
    • Si vous avez un deuxième disque, baladez-vous dessus, puis changez, puis rebaladez-vous, puis changez à nouveau (c'est important de comprendre les manips et subtilités de ces changements : plus tard, vous pourrez ainsi utiliser des disques amovibles, genre clés USB).
    • Pour finir, plantez quelques arbres (une belle arborescence du disque C:, ça ne vous dit rien :p ?).


    Et pour les plus intrépides : place au QCM :pirate: !!

    Dans ce cours, les QCM exploreront le sujet en profondeur, et, par conséquent, seront DIFFICILES :diable: . Cela veut dire deux choses :
    • si vous avez un mauvais résultat à celui-ci, MAIS que vous n'avez eu aucune difficulté ni pour la "récitation" du bilan, ni pour le(s) exo(s) précédent(s), que vous n'avez pas grand-chose à craindre pour la suite : vous arriverez à suivre, c'est juste que les points un peu plus difficiles vous ont échappés ;
    • si vous avez un bon résultat, que je ne me fais vraiment aucun souci pour vous ;) .

    Ouf ! Pas facile, le QCM, n'est-ce pas ? (Ne me dites pas non, ça me ferait déprimer... :p ) Enfin bon, je vous le répète, si vous êtes tombés dans les pièges et ne l'avez du coup pas réussi, ne vous en faites pas : a priori, vous n'aurez aucun mal à suivre la suite tant que vous comprenez le bilan et que l'exo ne pose aucune difficulté ;) . Et si vous avez remporté ce test haut la main, chapeau bas, dès que je m'en serai acheté un ^^ .

    Prochain chapitre : un trésor pour tout Dossien :D , Ahoy !

    Help, une rubrique d'aide

    Sous DOS, vous avez environ 70 commandes, chacune possédant ses propres commutateurs...

    70 ? Chacune ses propres commutateurs ? Toutes les retenir ? Au secours ! À l'aide ! HELP :'( !!!!


    Toutes les retenir, non, ça ne sera pas la peine ^^ . Une petite vingtaine (si ce n'est pas une quinzaine) suffit largement pour les choses les plus courantes. Par contre, pour "HELP!!!!", vous ne croyiez pas si bien dire. ;)

    HELP !!!!

    Help, "Aide", "À l'aide" voire "Au secours", ou tout ce que vous voulez dans le genre, est une commande bien pratique. En effet, elle permet d'afficher à l'écran toutes les commandes MS-DOS.
    Code : Console
     
    help


    Image utilisateur

    Eh :o ! Je rêve ou quoi ? Y a une commande IF ? On peut faire des programmes en DOS ?


    Eh oui :) , enfin... levons le voile : avec les commande DOS, on peut programmer en batch. En fait, tout ce que vous avez entré précédemment (cd, dir, tree et maintenant help) sont des commandes utilisables directement si vous faites du batch. Je pensais d'ailleurs faire une deuxième partie consacrée à celui-ci, mais il existe déjà un tuto à ce sujet.

    Enfin bref, voici une commande qui répond à votre angoisse : elle affiche le nom des commandes en majuscules suivi d'un bref résumé de leur(s) effet(s).


    Des infos sur une commande précise

    Euh :euh: ... oui, mais juste un truc... on n'a qu'un résumé d'une petitesse remarquable... comment on fait alors pour connaître l'effet précis d'une commande ?


    Comme toujours, il y a une solution, il suffit d'entrer :

    Code : Console
     
    help commandeDontVousSouhaitezObtenirPlusDinfos


    et vous aurez des informations détaillées supplémentaires sur le fonctionnement d'une commande (au fait, vous avez aussi remarqué que leur
    Image utilisateur
    tout en haut n'expliquait pas vraiment qu'il fallait entrer help puis le nom de la commande... DOS a aussi son français, parfois un peu éloigné du notre il faut dire :p ...).
    D'ailleurs, un truc que je vous demande de faire systématiquement à partir de maintenant, est, dès que l'on étudie une commande ensemble, d'entrer aussi help commandeEtudieeEnsemble, à votre plus grand bénéfice... ; en option, ça vous donnera une bonne occasion pour me hurler dessus s'il me prend l'envie de vous raconter des bobards. Et puis, si je ne m'abuse, ça vous fait déjà ça à entrer :

    Code : Console
     
    help cd
    
    help dir
    
    help tree


    et pour finir...
    Code : Console
     
    help help

    Bah oui :p .

    Mais... et si on a la flemme de taper help devant la commande à chaque fois, on fait comment ?

    Normalement, on surmonte sa flemme ^^ ... mais, il existe une autre solution : le commutateur /? .


    Le commutateur /?

    Ce commutateur est très facile à utiliser ; il suffit d'entrer :
    Code : Console
     
    commande /?

    et ça a le même effet que :
    Code : Console
     
    help commande

    vous permettant ainsi d'économiser deux caractères ^^ .

    Voyons maintenant de plus près ce que ça donne...

    Code : Console
     
    dir /?


    Image utilisateur


    Tout en haut, le bref résumé est rappelé, puis suivent le nom de la commande et de ses homonymes éventuels (voir cd /?) ainsi que sa syntaxe (qui indique l'ordre dans lequel doivent être placés les paramètres) et les commutateurs possibles, suivis ensuite par une description un peu plus complète de la commande. Nous verrons dans le chapitre suivant cette histoire de syntaxe souvent obscure au départ, pas d'inquiétude ;) .

    :o Ouh là ! Mais c'est qu'il y en a une sacrée masse, des commutateurs possibles pour dir ! On les voit quand ?

    Dans le chapitre suivant ^^ .
    Bon eh bien voilà : pour help et son commutateur, on a fait le tour.

    Mais au fait, je pensais à un truc... maintenant qu'on connaît cette histoire de help, comment peux-tu encore nous servir à quelque chose ?

    C'est vrai que, subitement, je vois mon utilité un peu réduite... mais ce n'est pas si simple : évidemment, vous pouvez décider à partir de maintenant de vous passer de ce cours, help est suffisant à lui seul... mais il y a quelques détails.
    • Rappel


      Sous DOS, vous progressez SANS FILET : ça veut dire, par exemple, qu'il n'y a pas de corbeille à fichiers, qu'une fausse manip' peut engendrer des pertes de données voire causer des dégâts ou sur MS-DOS directement, ou même sur Windows lui-même si vous modifiez des fichiers systèmes... . Il est donc nécessaire de connaître les effets précis d'une commande avant de la lancer. Je décline toute responsabilité en cas de dommages éventuels causés à votre machine.
    • Vous avez pu voir que parfois l'aide de DOS utilise un français un peu différent du nôtre, et, de ce fait, un peu plus dur à comprendre...
    • Vous aurez peut-être remarqué, au tout début de ce chapitre, dans
      Citation : Ce tuto, au tout début
      Help, "Aide", "À l'aide" voire "Au secours", ou tout ce que vous voulez dans le genre, est une commande bien pratique. En effet, elle permet d'afficher à l'écran toutes les commandes MS-DOS.

      que le mot "toutes" était en italique... ce n'est pas pour rien : comme partout, il y a des commandes cachées... nous en verrons d'ailleurs quelques-unes au fur et à mesure à partir du chapitre 4 et dans les parties suivantes ;) .
    • Enfin, bien qu'il soit plus bénéfique d'apprendre sur le tas, un cours est plus ciblé et permet plus rapidement d'avoir les bases pour continuer plus vite par soi-même ensuite...
    • et sinon, ça vous barbe vraiment tant que ça, ce cours :p ?

    Enfin bon, si vous souhaitez quand même arrêter la lecture de ce cours dès maintenant, bah... merci de l'avoir lu jusqu'ici et à la prochaine :) !

    Bon, eh bien voilà, donc, bah... hum... ce n'est pas tout ça mais..., c'est l'heure du bilan :) .


    Pour respirer un bon coup : cls

    Hum oui, mais c'est quoi, ce chapitre d'une taille ridicule ? En plus une image énoooooooorme totalement inutile pour help... faudrait peut-être penser à meubler un peu, avant le bilan, non ?


    Perspicaces ^^ ... bon eh bien, le bilan viendra un peu plus tard...
    Pour meubler : voici une commande que je ne savais pas où caser, qui fait partie des bases sans être essentielle, mais qui est bien pratique.

    Souvent, votre fenêtre MS-DOS sera pleine... de texte. Personnellement, je trouve pénible de devoir regarder en bas de l'écran le curseur pour taper la commande suivante... heureusement, il y a une solution : cls (clear screen, "vider écran", en anglais).

    Code : Console
     
    cls


    Là, je ne peux vous montrer que "l'avant" et "l'après" ^^ .

    Image utilisateur
    :-° Ouf, on respire !


    Voilà, c'est fait, c'est meublé (et ne me dites pas qu'il y a une énooorme image inutile juste au-dessus, je le sais :p ).

    Et maintenant, place au bilan, mais vraiment cette fois, hein :p !

    ( :euh: Euh... j'espère que vous n'avez pas oublié de taper cls /? ou help cls :-° ...)


    Bilan

    Dans ce chapitre, nous avons vu comment :

    Commande help


    • afficher la liste de toutes les commandes MS-DOS ainsi qu'un bref résumé de leur effet :Secret (cliquez pour afficher)
      help
    • obtenir de l'aide sur une commande précise :Secret (cliquez pour afficher)
      "help commande" ou "commande /?"

    Commande cls




    Bon, d'accord, c'est un bien maigre bilan, cette fois-ci... mais bon, fallait bien faire un chapitre sur ça, non ?

    D'ailleurs, je suis au regret de vous annoncer qu'il n'y aura ni exercices ni QCM dans ce chapitre, y a un sacré manque de matière :-° .

    Et voilà un court cours ! Enfin bon, il fallait bien le faire à un moment ou à un autre ;) .
    Prochain chapitre : quelque chose d'un peu plus intéressant : le rôle réel de la commande dir, commande encore bien plus costaude et essentielle qu'il n'y paraît ^^ .

    Le secret de dir, ses commandes complémentaires

    Dans le chapitre suivant, nous allons voir comment gérer des fichiers et des dossiers. Mais juste avant, je voudrais revenir un instant sur la commande dir, car elle offre de nombreuses possibilités, et permet notamment d'introduire le chapitre suivant.
    Voici donc un chapitre dédié entièrement à cette commande, à deux autres commandes qui permettent de faire ce qu'elle ne fait pas et à deux petits trucs en plus :p .

    Et je vais d'abord vous en apprendre une bien bonne : dir n'affiche pas vraiment ce qu'il y a dans le dossier courant (le vraiment est important), bah oui.

    :o Ah bon ? Mais... pourtant... enfin... bah elle sert à quoi alors, cette commande ?


    dir est, en réalité, une commande de recherche :ninja: . En fait, sous Windows, je pourrais dire que dir s'apparente à ceci :
    Image utilisateur

    Image utilisateur


    Bon, c'est pas tout ça, mais faut encore que je vous dise comment elle marche ^^ .

    Un peu de syntaxe

    Revoyons un instant la syntaxe de cette commande.

    Code : Console
     
    dir /?


    Image utilisateur


    Citation : Image ci-dessus
    DIR [lecteur:] [chemin] [nom_de_fichier] [/A[[:]attributs]] [/B] [/C] [/D] [/L] [/N] [/O[[:]tri]] [/P] [/Q] [/S] [/T[[:]heure]] [/W] [/X] [/4]

    Légende : en vert, le nom de la commande ; en orange : le chemin d'accès d'où vous souhaitez lancer la commande (si vous n'en mettez pas, dir le fera dans le dossier courant) ; en rouge : enfin ce qui nous intéresse, ce qui fait que dir est une commande de recherche ; en bleu : les commutateurs possibles pour cette commande.

    Comme vous voyez, des commutateurs, il y en a une sacrée masse... avant de parler de cette histoire de recherche, je vais juste d'abord en éliminer quelques-uns, histoire que ça soit fait.

    Les commutateurs /p et /s



    Bon, ceux-là, vous les connaissez déjà ^^ .

    Les commutateurs /b /c /d /l /q /w /4



    Ces commutateurs sont faciles d'utilisation, vous pouvez expérimenter par vous-mêmes leur(s) effet(s).
    (À noter cependant : pour /b : deux dossiers ("." et "..") ne sont pas listés ; pour /d, qui a le même effet que /w : les dossiers sont entre crochets, les fichiers ne le sont pas.)

    Euh... juste un truc... pourquoi dir /c a-t-il le même effet que dir tout court ??


    Parce que, quand vous entrez dir, DOS met par défaut et sans vous demander votre avis le commutateur /c (c'est l'histoire de la variable d'environnement DIRCMD - voir en bas de l'image -, on en parlera dans la partie suivante). Pour retirer un commutateur, pour qu'il ne fasse pas son effet, mettez juste un moins ("-") devant.
    Ce qui donne :
    Code : Console
     
    dir /-c

    Voilà, voilà ;) .

    Les commutateurs /n et /x



    Vous vous souvenez qu'il y a plusieurs versions de DOS... eh bien, le commutateur /x permet d'afficher une colonne supplémentaire avec les noms des fichiers et dossiers affichés selon une version antérieure... celle où il y avait encore les ~1 !! Vous pouvez donc expérimenter du coup ce que ça donne :) .
    Et pour /n... essayez, rien ne change... /n est donc probablement pré-configuré ! Que faut-il donc entrer ? Eh oui, vous avez tout compris :
    Code : Console
     
    dir /-n


    Et là... vous avez le superbe affichage 100 % pur premières versions, avec les noms à gauche et le ~1 :D .

    Les commutateurs /t et /o



    Mis en derniers à cause de leur syntaxe bizarre : [/o[[:]tri]] et [/t[[:]heure]].
    Rassurez-vous : de même, il y aura toujours un slash devant la lettre. Mais, grosse différence : [[:]qqchose]... il s'agit d'un commutateur avec paramètre : la commande fera son boulot, avec plus ou moins de différences suivant le commutateur, mais avec encore des variantes selon le paramètre de ce dernier.
    Pour la syntaxe simplifiée, ce serait :
    Code : Console
     
    commande /caractereDuCommutateur:paramètre(s)

    Les paramètres possibles sont indiqués à côté du commutateur dans la rubrique d'aide.
    Quelques exemples :

    Code : Console
     
    dir /o:g
    affichera les répertoires avant les fichiers.

    Code : Console
     
    dir /o:gn
    affichera les répertoires avant les fichiers puis les mettra en ordre alphabétique.

    Code : Console
     
    dir /o:ng
    aura le même effet que
    Code : Console
     
    dir /o:n

    L'ordre des paramètres a donc une importance...


    Vous ne pouvez utiliser le commutateur /t:paramètre que quand vous utilisez le commutateur /o avec comme paramètre d (organisation suivant la chronologie).


    Voilà, voilà, on a vu les "quelques-uns".

    Ah... oui, OK..., il en reste combien, maintenant ? Zér0 ?

    Non, un ^^ ! Mais il fait déjà partie de la fonction de recherche de dir... je vais donc en parler dans peu de temps :p .


    Une commande de recherche

    dir est donc une commande de recherche... et une commande de recherche sert à... rechercher ! Bien ! Rechercher quoi ? Ce qu'il y a sur votre machine, c'est-à-dire des fichiers ou des dossiers.
    Premier truc hyper-important pour trouver quelque chose : savoir ce que l'on cherche, donc, le nom dudit fichier ou dossier.

    Ainsi, pour trouver un fichier ou un dossier dans le dossier courant, il suffira d'entrer :
    Code : Console
     
    dir NomDuFichierOuDuDossier


    Exemple



    Je cherche à vérifier s'il n'y a pas un certain fichier.txt sur le disque C:.
    Code : Console
     
    dir fichier.txt

    Image utilisateur


    :( C'est bizarre... pourtant, j'étais certain qu'il y en avait bien un sur le disque C:...
    Vous l'avez deviné, il fallait rajouter le commutateur /s pour qu'il regarde dans tout le disque ^^ , ce qu'on a appris avant est toujours valable.

    Code : Console
     
    dir fichier.txt /s


    Image utilisateur

    Ah, bah le voilà, il se trouvait dans le dossier fichiers !


    Maintenant, imaginons la situation suivante : vous vous trouvez sur un dossier très loin de la racine du disque, et vous voulez savoir où se trouve un autre fichier, cela depuis la racine du disque... Vous avez donc comme solution ceci :
    Code : Console
     
    cd \
    
    dir fichier.extension /s

    Mais imaginons ensuite que vous vouliez revenir sur le dossier où vous étiez avant... beaucoup de cd à entrer, n'est-ce pas ?

    Eh bien, rassurez-vous, comme l'indique la syntaxe (et c'est le cas pour presque toutes les commandes) vous pouvez aussi entrer avec dir un chemin d'accès.
    Code : Console
     
    dir cheminDAcces\fichier.extension (+commutateurs éventuels évidemment)

    Et là, dir recherchera le fichier depuis l'endroit spécifié sans que le dossier courant ne soit modifié, faute de cd. Rappel : la racine du disque ("\") est un chemin d'accès comme un autre, un dir \fichier.extension /s rechercherait donc un fichier sur tout le disque depuis la racine.

    Si vous voulez chercher quelque chose depuis un chemin d'accès, ne mettez pas d'espace entre le chemin d'accès et le nom du fichier : sinon, dir afficherait d'abord ce qu'il y a dans le dossier spécifié par le chemin d'accès puis chercherait le fichier dans le dossier courant...
    Image utilisateur


    Et... mais... est-ce que c'est possible de rechercher plusieurs fichiers à la fois ??

    Oui, ça l'est ^^ (et c'est d'ailleurs ce que sous-entend l'avertissement ci-dessus). En effet, rien ne vous empêche d'entrer :
    Code : Console
     
    dir fichier1 fichier2 fichier3 etc...

    Et dir recherchera tous ces fichiers là où vous l'avez spécifié ;) .

    Eh ! Mais, attends un peu ! Si on doit séparer les noms de fichiers par un espace, comment on fait pour rechercher UN fichier dont le nom contient quelques espaces ?

    Bonne question :) ! En effet, si vous entrez :
    Code : Console
     
    dir bonjour comment ça va.txt
    dir vous recherchera les fichiers bonjour, comment, ça et va.txt là où vous lui avez demandé, et non pas un seul fichier bonjour comment ça va.txt.
    Eh bien, pour qu'il n'y ait pas d'ambiguïté, les guillemets sont obligatoires :
    Code : Console
     
    dir "bonjour comment ça va.txt"

    Et là, tout marchera comme sur des roulettes ;) .

    Et pour rechercher plusieurs fichiers dans plusieurs disques durs ?

    Bien :) ! On s'intéresse à tout, il semblerait ! Je rappelle que le disque dur est une partie du chemin d'accès comme une autre. Si l'on cherche deux fichiers, par exemple fichier.txt et fichier.bmp sur les disques C: et D:, rien ne vous empêche d'écrire : Code : Console
     
    dir C:\fichier.txt D:\fichier.txt C:\fichier.bmp D:\fichier.bmp /s


    À noter : si j'avais entré la même chose mais sans mettre l'antislash après les disques ("dir C:fichier.txt etc.", dir rechercherait le fichier depuis l'endroit qu'il a mémorisé de ce disque (voir l'histoire du cd /d d: et cd /d d:\ du chapitre 1).


    Bon eh bien, avant de passer à la suite, il nous reste le dernier commutateur : /a.
    Il est relativement simple d'utilisation : dir n'affichera que les fichiers portant le nom spécifié ET le ou les attribut(s) mis en paramètres (attributs possibles : D = Dossiers ; R = En lecture seule ; H = Caché ; A = En archive ; S = Système).
    Ainsi, si j'entre :
    Code : Console
     
    dir \fichier.txt /s /a:h
    dir recherchera dans tout le disque courant tous les fichiers CACHÉS de nom fichier, d'extension .txt (mon fichier.txt d'avant ne marcherait donc pas car il n'est pas caché ; réciproquement, si fichier.txt était caché, dir ne le trouverait pas si je ne spécifiais pas "chercher les fichiers cachés"... il est donc nécessaire de spécifier quel(s) type(s) de fichier dir doit chercher).

    Code : Console
     
    dir \dossier /a:d /s

    Là, dir recherchera dans tout le disque courant tous les dossiers et seulement les dossiers (il exclut les fichiers) de nom dossier.

    Et attention, c'est important :
    Code : Console
     
    dir fichier /a:

    /a: sans rien affichera tous les fichiers ou de dossiers de nom fichier, quels que soient leur(s) attribut(s).<taille valeur="ttpetit"></taille>

    :) Ah oui d'accord... on voit soudainement dir sous un autre angle... mais au fait, pourquoi, quand on entrait dir tout seul, il affichait tout ce que contenait le dossier courant ?


    Parce que...


    Un symbole qui veut tout dire

    ... dir comprenait qu'il fallait tout afficher, tout simplement :p .

    Cette idée de TOUT est contenue sous DOS dans un symbole, que vous connaissez déjà bien, il s'agit de celui-ci : *.

    Quand vous entrez donc dir, DOS comprend automatiquement que vous vouliez dire dir * , ce qui veut dire "trouver puis afficher les noms de TOUS les fichiers et dossiers présents là où on m'a demandé de chercher".

    * veut donc dire tous les caractères possibles, qu'il y en ait aucun, un, deux... jusqu'à +infini...

    :euh: Euh... ouais, mais... quel intérêt d'avoir un signe pareil ?


    Eh bien il sert à beaucoup, beaucoup de choses : non seulement il veut dire TOUT, mais, en plus, on peut le mettre où l'on veut.
    Exemples :
    Code : Console
     
    dir *haha.txt
    recherchera dans le dossier courant les fichiers .txt qui ont pour nom quelque-chose-n'importe-quoi suivi de haha puis les affichera.
    Code : Console
     
    dir hihi.*
    cette fois-ci recherchera les fichiers ayant pour nom hihi mais ayant n'importe quelle extension.
    Code : Console
     
    dir hoho.*t*
    ici, recherchera tous les fichiers ayant pour nom hoho et dont l'extension comporte au moins un "t".
    Code : Console
     
    dir *a*.*
    là, recherchera n'importe quel fichier contenant au moins un "a" dans le nom.
    Code : Console
     
    dir \* /a:d /s
    et là, dir affichera tous les dossiers contenus dans le disque courant (note : j'aurais pu me dispenser de taper le symbole * , mais c'est toujours plus lisible ;) ).

    Enfin, ce symbole peut être utilisé dans d'autres commandes que dir (voir chapitre suivant), d'où sa grande importance.

    Bon, il ne nous reste plus qu'à voir un symbole avant de passer aux commandes complémentaires de dir.


    ? : 1 caractère ou 0 caractère

    Un autre symbole, presque aussi tordu que * , est celui-ci : ? .

    * veut dire TOUT, n'importe quoi, tout ce qui est possible, des combinaisons infinies de 0 à +infini caractère(s).
    ? veut dire, quand à lui, UN caractère, n'importe lequel, ou Zér0 caractère. En fait, "*" équivaut en quelque sorte à "une infinité de ?".

    Pour expliquer, rien de mieux que quelques exemples :

    Code : Console
     
    dir c?.txt
    recherchera dans le dossier courant les fichiers .txt dont le nom contiendra UN "c" suivi ou non d'UN SEUL caractère (par exemple : c.txt , ca.txt, c2.txt etc.).

    Code : Console
     
    dir ?a?b?c?.?

    recherchera dans le dossier courant les fichiers, ou qui n'ont pas d'extension, ou qui n'ont une extension que d'un caractère. Pour le nom, c'est long à expliquer, voir les exemples :p (exemples : abc, abc.t, tabcr.m, apbnc etc.).

    Code : Console
     
    dir ????.???
    recherchera dans le dossier courant les fichiers dont le nom contient de 0 à 4 caractères et dont l'extension contient de 0 à 3 caractères (exemples : la.png, dodo.pm, a, tab.i etc.).

    Vous pouvez utiliser les symboles * et ? dans le moteur de recherche de Windows, mais aussi sur les moteurs de recherche sur Internet ! Quoique "*" ait généralement un comportement aléatoire, "?"

    Voilà, voilà, fini pour les symboles bizarres... pour l'instant :ninja: ; de toute manière, on aura l'occasion de les utiliser à fond dans le chapitre suivant ;) .

    Vocabulaire : ces deux caractères (parmi d'autres) sont dits "caractères génériques".


    Bien :) , mais... si j'ai bien compris, dir ne permet pas de rechercher du texte, comment on fait alors ?

    Ah là là... dir, c'était bien, mais on a atteint ses limites :'( ... pour chercher du texte, nous devrons passer à deux autres commandes qui sont...


    Pour chercher du texte dans des fichiers

    ... find (trouver, en anglais) et findstr (find string = trouver chaîne de caractères).

    Commençons par find.

    Citation : sous l'invite de commande : find /?
    FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "chaîne" [[lecteur:][chemin]nom_de_fichier[...]]


    Légende : en vert, le nom de la commande ; en bleu, les commutateurs possibles ; en orange, l'endroit de recherche ; en rouge, ce qu'il faut rechercher.

    Au sujet de la syntaxe : là, vous voyez bien que les commutateurs sont placés AVANT le reste, ça veut dire qu'il faudra impérativement que vous les placiez AVANT le reste quand vous tapez votre commande.


    Alors voilà, pour chercher du texte dans UN fichier, il vous suffira d'entrer :
    Code : Console
     
    find "texteARechercher" fichierOuSonCheminDAcces


    Et pour en rechercher dans plusieurs fichiers, rien ne vous empêche de marquer, comme vous l'indique dans la syntaxe ceci : "[...]" :
    Code : Console
     
    find "texteARechercher" fichier1 fichier2 fichier3 etc.


    Ah ok... mais... comment on fait pour rechercher du texte dans TOUS les fichiers d'un dossier ? On va tous les taper un par un :'( ?


    C'est une solution ^^ , mais il y a plus simple... l'histoire de TOUT, ça ne vous rappelle rien ? * .
    Code : Console
     
    find "texteARechercher" *
    recherchera le texte dans TOUS les fichiers du dossier courant ET des sous-dossiers.

    :o Ah bon ? Mais... pourquoi ?


    Un nom de fichier contient en fait son chemin d'accès (et si je le mets en gros, rouge, gras, souligné c'est que c'est pour le moins important :p ). * voulant dire TOUT, ce symbole veut dire aussi TOUS les chemins d'accès possibles, donc TOUS les fichiers (et à l'occasion, leur chemin d'accès) depuis le dossier d'où vous avez lancé la recherche.

    Ah... et comment on fait pour éviter ça ?


    Eh bah, euh :euh: ... c'est-à-dire que... hmm... :euh: ... enfin... :euh: ... à vrai dire... c'est une excellente question, d'une pertinence pertinente, merci de me l'avoir posée :D (à vrai dire, je n'en sais rien ; si à un moment je trouve, je le rajouterai ici, mais en attendant... et si vous savez, faites passer le message SVP :-° ).

    1) En général, vous verrez le message "Accès refusé" pour les sous-dossiers...
    2) Si vous vous demandez pourquoi donc, lorsque l'on recherche avec une astérisque dans le nom, dir ne va pas dans les sous-dossiers, je vous affirme que c'est aussi une excellente question :-° ).


    Enfin bon, broum, broum :-° bref, hum, hum, comme (presque) toute commande, find possède ses propres... commutateurs :ange: .

    Les commutateurs /v /c /n /OFF[LINE]



    Simples d'utilisation, aucune explication supplémentaire n'est nécessaire.
    Cependant, /OFF[LINE] est un bel exemple de commutateur présentant plusieurs caractères ; ici, les crochets veulent dire que find /OFF a le même effet que find /OFFLINE (je sens que le /OFFLINE sera vite délaissé au profit du /OFF :p ).

    Le commutateur /i



    Si je l'ai mis à part, ce n'est pas parce qu'il est plus compliqué, c'est juste pour revenir un instant sur l'histoire de "respecter la casse".

    Rappel : DOS NE respecte PAS la casse, c'est-à-dire que pour lui, une majuscule = une minuscule.


    find, quant à elle, la respecte, il sera donc nécessaire d'entrer un /i (ou /I, c'est la même chose) pour qu'elle n'en tienne pas compte.
    Voilà, c'est revenu un court instant, un petit rappel ne fait jamais de mal ;) .

    Euh... ouaip... mais y a deux trucs qui me chiffonnent... est-ce que l'on peut rechercher plusieurs chaînes de caractères dans un même ensemble de fichiers avec find ou une seule chaîne dans plusieurs dossiers ?


    Non ^^ . Et c'est là qu'interviendra findstr.

    findstr est beaucoup plus compliquée que find... mais permet de rechercher plusieurs chaînes de caractères à la fois, et même dans plusieurs dossiers. Comment ? Avec les commutateurs /C: et /D:. Mais pour cela nous allons mettre plusieurs fois le même commutateur, et séparer des noms de dossier par des points-virgules :D !
    Globalement, findstr fonctionne comme find, on mettra juste /c: devant chaque chaîne... et on rajoutera les dossiers à fouiller après.
    Code : Console
     
    findstr /c:"chaîne1" /c:"chaîne 2" etc... /d:dossier1;dossier2;dossier3... *


    À noter, lorsqu'il ne s'agit que de mots à chercher, pas d'expressions, on peut retirer les commutateurs /c: et écrire tout simplement :
    Code : Console
     
    findstr "mot1 mot2 mot3 ..." /d:dossier1;dossier2;dossier3... *


    Voilà, si vous avez compris find, vous avez aussi compris findstr ;) .

    Si vous vous sentez délaissés, perdus, en manque d'images, que vous n'avez pas de fichiers sur lesquels tester ces deux commandes, ne vous inquiétez pas, l'exo comblera ce vide ;) .


    Eh bien, voili, voilou, passons à autre chose :D .


    Caractères génériques et nom de dossier, lien entre DOS et C

    Allez, comme d'hab', pour finir, quelques petits trucs plus tellement dans le sujet :p .

    D'abord, sous Windows, essayez de créer un nouveau dossier de nom "salut ! ça va ?" ... je parie 10 contre un que vous n'y arriverez pas :p .

    :o Eh ! C'est vrai ! Il accepte pas le nom ! Comment ça se fait ?


    J'imagine qu'il vous affiche ceci ^^ :
    Image utilisateur
    Ces caractères ne sont pas acceptés dans les noms de fichiers et de dossiers... pour la bonne raison que / est réservé aux commutateurs, \ aux chemins d'accès, : aux disques durs, * et ? sont utilisés pour remplacer des caractères, on ne peut donc pas les mettre et pour les guillemets, vous l'avez vu pour l'histoire de "bonjour comment ça va.txt" ^^ . Pour les autres, on les verra à un moment ou à un autre ;) . Votre dossier "salut ! comment ça va ?" contenant un point d'interrogation, Windows ne peut l'accepter.

    Sinon, certains logiciels vous proposent d'enregistrer au format Tous les Fichiers (ou All Files). À côté, entre parenthèses, vous verrez souvent écrit : "(*.*)". Cela veut dire que vous devez spécifier et le nom, et l'extension du fichier ; c'est-à-dire que si vous n'en mettez pas, le logiciel n'en mettra pas non plus ^^ .

    Quant au lien entre DOS et C, nous le verrons par le biais d'une autre commande : vous savez, quand vous tapez dir /p dans un dossier contenant beaucoup de fichiers... eh bien, j'attire votre attention sur cette ligne qui s'affiche forcément si l'écran se remplit :
    Image utilisateur

    Eh bien, cette ligne peut apparaître indépendamment de dir si vous entrez :
    Code : Console
     
    pause
    (ça fait pas tilt, les C et Cplusplusseurs ;) ?)
    ... pour la pause.

    Eh oui, en C, sous console, les commandes MS-DOS peuvent être utilisées directement par le biais de :

    Code : C
    1
    system("commandeMSDOS");
    
    (d'où l'intérêt d'un system("pause"); en fin de programme ;) ).

    Enfin, quand vous tapez dir, ces deux lignes s'affichent aussi : Image utilisateur
    Code : Console
     
    vol
    vous les affichera de même ;) .

    Bien, eh bah... voilà pour la parenthèse plus trop dans le sujet... on passe au troisième bilan.

    Gestion des fichiers et des dossiers

    Alors, les moussaillons, on est prêts à s'attaquer enfin à ce que vos bâtiments ont dans le ventre :pirate: ? On va en apprendre des trucs ici... créer :ange: , altérer :magicien: , utiliser :soleil: , déplacer, copier, remplacer :ninja: ... et ... Supprimer :diable: .

    Enfin bon, j'ai mis le dernier mot en gras, ce n'est pas pour rien ;) . En effet, je vous le rappelle :
    Sous DOS, vous progressez SANS FILET : ça veut dire, par exemple, qu'il n'y a pas de corbeille à fichiers, qu'une fausse manip' peut engendrer des pertes de données voire causer des dégâts ou sur MS-DOS directement, ou même sur Windows lui-même si vous modifiez des fichiers systèmes... . Il est donc nécessaire de connaître les effets précis d'une commande avant de la lancer. Je décline toute responsabilité en cas de dommages éventuels causés à votre machine.


    Comme on va entre autres apprendre à envoyer des fichiers et dossiers ad patres, je vous sur-recommande donc de faire attention ^^ .


    Allez, les intrépides ! Trève de bavardages ! Aaaaaaaaaaà l'abordage !!! (Ça rime en plus. :p )

    Etape 1 : créer

    md (make directory, créer un répertoire, en anglais) permet de... créer un répertoire.

    Code : Console
     
    md nomDuDossier

    Code : Console
     
    md nomDuDossier1 nomDuDossier2 nomDuDossier3 ...


    Image utilisateur


    Il existe aussi une autre commande ayant le même effet que md : il s'agit de mkdir.


    Cette commande est une des plus bêtes qui soient, vous arriverez à la maîtriser plus vite que votre ombre.

    Petite précision : ne vous cassez pas la tête avec l'histoire des extensions (dans md /?), vous pouvez sans problème y entrer des dossiers et des sous-dossiers, DOS se chargera de tous les créer ;) .

    Pour la création de fichiers... eh bien :euh: ... bah, comme sous n'importe quel système d'exploitation, ce sont les logiciels qui s'en occupent.

    :o Des logiciels, sous DOS ?? Mais... lesquels ?

    Les mêmes que sous Windows ^^ , enfin... presque. En effet, il se peut que la plupart ne fonctionnent pas. Bref, si vous souhaitez avoir un exemple de programme propre à DOS, tapez :
    Code : Console
     
    edit

    Et vous aurez une superbe application, l'ancêtre de notre Bloc-notes chéri, qui se lancera.

    Image utilisateur


    Edit ? Je la vois pas dans help !


    Ce n'est pas moi qui vous ai dit qu'il y avait des commandes cachées :-° ?... en voilà donc une, et vous pourrez en savoir plus en entrant :
    Code : Console
     
    edit /?

    Voili voilou ^^ . (Bon, c'est vrai qu'edit est une application... mais vu qu'elle se lance comme une commande DOS, on peut dire que c'est les deux non :euh: ?)

    1) Si vous enregistrez des fichiers avec edit, n'oubliez pas de préciser l'extension : si vous n'en mettez pas, il n'y en aura pas.
    2) Sous edit, maintenez Alt enfoncé, vous verrez des lettres se blanchir dans la barre de menu. Gardez Alt enfoncé puis appuyez sur la lettre correspondante pour voir ce menu se dérouler. Comble du bonheur, cette histoire de Alt + lettre fonctionne sur... quasiment tous les logiciels Windows, sauf que cette fois vous aurez la lettre soulignée. Sinon, n'oubliez pas que normalement, sous edit y a pas de souris... même si en l'occurence il est possible de l'utiliser : pour "naviguer" dedans, la touche Tab est essentielle.


    Donc voilà, si ça vous dit, vous pouvez créer aussi des fichiers avec edit. Cependant, il y a un moyen plus direct pour en créer... et nous le verrons dans la partie suivante ^^ .

    Pour créer :ange: , on a fini... passons à altérer :magicien: .</position>


    Etape 2 : altérer

    Enfin... quand je dis altérer... disons plutôt "renommer" et "changer les attributs" ^^ .

    Vous vous en doutez bien, ça correspond à deux commandes : ren (rename, renommer, en anglais) et attrib (pour la traduction, mettez ce que vous voulez :-° ).

    Il existe aussi un homonyme de ren : rename... enfin, plus c'est court, mieux c'est :p .


    Code : Console
     
    ren nomActuelDuFichierOuDuDossier nouveauNomDuFichierOuDuDossier

    Pour renommer un fichier ou dossier, je considère qu'aucune précision n'est nécessaire :p .
    Par contre, un truc très intéressant avec ren est celui-ci :
    Code : Console
     
    ren *.extension *.nouvelleExtension
    renommera tous les fichiers d'extension extension par... leur même nom respectif mais avec nouvelleExtension pour extension.
    Code : Console
     
    ren nom.* nouveauNom.*
    renommera tous les fichiers de nom nom, quelle que soit leur extension, par nouveauNom mais en gardant leur ancienne extension.
    Allez, une petite illustration ^^ .
    Image utilisateur

    Passons maintenant à attrib :
    Code : Console
     
    attrib

    attrib seul affichera à l'écran tous les fichiers contenus dans le dossier courant précédés de leur(s) attribut(s) (R = lecture seule, A = archive, S = système, H = caché).

    Image utilisateur


    Notez la correspondance sur ce point entre dir et attrib : dir affiche les fichiers et dossiers du dossier courant mais du moment qu'ils ne sont ni cachés, ni des fichiers ou dossiers système. attrib, quant à lui, affichera TOUS les fichiers avec leur(s) attribut(s) mais ne touchera pas aux dossiers.
    Pour qu'attrib vous affiche les attributs d'un dossier, il est nécessaire de spécifier son nom :
    Code : Console
     
    attrib dossier(ouFichierAussiDailleurs)DontOnVeutConnaîtreLesAttributs

    Image utilisateur


    OK, c'est bien, mais... comment est-ce qu'on modifie les attributs, alors o_O ?


    Parlons d'abord d'un... nouveau type de commutateur :D .
    Celui-ci : +X ou -X , sans slash.

    Dans attrib, c'est ce qui est utilisé :
    Code : Console
     
    attrib +ou-desTrucs nomDuFichierOuDuDossier


    Exemple :
    Code : Console
     
    attrib +H -S toto.txt

    Le fichier toto.txt ne sera plus un fichier système (s'il en était un) et deviendra caché s'il ne l'était pas déjà.
    Image utilisateur
    Voilà, aucune précision n'est nécessaire, je crois que c'est assez clair ^^ .


    Observez bien cette image :
    Image utilisateur
    Un truc bizarre avec attrib : si vous tentez de modifier les attributs d'un fichier caché sans modifier son attribut caché, DOS vous affichera un message d'erreur, il en va de même pour les fichiers système... ne vous inquiétez donc pas si vous voyez apparaître ce message, il suffit de modifier aussi les attributs cachés ou système (quitte à mettre un +h ou un +s même si c'est déjà le cas).


    Sinon, vous pouvez aussi caser nos chers symboles * et ? ici :
    Code : Console
     
    attrib +H *
    rendra tous les fichiers du dossier courant cachés...

    Enfin, le commutateur /d est un peu bizarre : utilisable uniquement si le commutateur /s est mis, seul un exemple peut permettre d'expliquer clairement :
    Code : Console
     
    attrib +h * /s
    rendra tous les fichiers du dossier courant et de ses sous-dossiers cachés.

    Code : Console
     
    attrib +h * /s /d

    rendra tous les fichiers ET dossiers du dossier courant ainsi que des sous-dossiers cachés (ou comment rendre invisible toute une arborescence de disque :p ).

    Pour l'altération, c'est tout ^^ .

    Utilisons enfin nos fichiers, passons à la troisième étape :soleil: !


    Etape 3 : utiliser

    Ici, nous allons voir 3 choses : ouvrir un exécutable puis n'importe quel type de fichier, afficher un fichier texte à l'écran et enfin, imprimer un fichier.

    Ouvrir un exécutable, puis n'importe quel type de fichier



    Pour faire cela vous avez besoin d'une... eh non ! Je vous ai bien eus HAHAHA :lol: ... pour cela, vous N'avez PAS besoin de commande :D .

    :o o_O ... mais, que, alors, quoi ??

    Plus simple que tout, pour lancer un exécutable ou ouvrir n'importe quel fichier (l'application mise par défaut se chargera alors avec le fichier), il suffit d'entrer son chemin d'accès, je vous ai bien eus, hein ;) ?

    Code : Console
     
    fichier.extension
    fera donc avec ce fichier l'action par défaut sous Windows, c'est-à-dire celle que vous obtenez en faisant un simple double-clic ^^ .

    Il existe néanmoins une commande pour lancer des fichiers ; il s'agit de start, cependant, il serait trop tôt d'en parler de suite ;) .


    Bon, ça, c'est fait :lol: , passons ensuite à afficher le contenu d'un fichier.

    Afficher le contenu d'un fichier



    Cette fois-ci, on a bien affaire à une commande : type (taper, dactylographier, en anglais).

    Sa syntaxe est des plus basiques :
    Code : Console
     
    type fichier

    Code : Console
     
    type fichier1 fichier2 fichier3...

    1) Là aussi, il est possible d'utiliser un type *.
    2) Pour votre plus grand bonheur et épanouissement personnel, testez donc type sur des fichiers de divers formats : .bmp, .avi, .mp3 etc., je vous garantis des surprises ;) .


    Allez, un petit type pour détendre l'atmosphère ^^ :
    Image utilisateur

    Haha (je la connaissais déjà mais bon...)... mais juste une question : c'est quoi, les symboles bizarres ?


    Les endroits où il y avait des accents ^^ ... en effet, ceux-ci ne passent pas en DOS.

    Bon eh bien maitenant, imprimons !

    Imprimer un fichier



    Avant toute chose, il faut savoir que seule une imprimante reliée au port LPT1 pourra être utilisée, une imprimante reliée à un port USB ne marchera pas.

    Le port LPT1 ??

    Rien de mieux qu'une petite image pour expliquer ;) :
    Image utilisateur

    Image utilisateur

    En haut, un port LPT1, en bas, un port USB (images piquées sur ce site).

    Vous voyez où il est maintenant ? Bien :D ! Je ne sais pas si vous avez une imprimante qui peut se brancher dessus, mais dans tous les cas, je donne ma commande :
    Code : Console
     
    print fichier

    Tout simplement ^^ (print = imprimer, en anglais).
    Et comme il s'agit du port LPT1, on peut aussi marquer (je vous apprends un nouveau caractère interdit dans les noms de fichiers et dossiers, au même titre que /\": ?* :p ) :
    Code : Console
     
    fichier > LPT1

    En effet, > veut dire "envoyer" ; ainsi, le fichier sera envoyé vers le port LPT1, sur lequel est branché l'imprimante.

    Après tout ça, il est désormais temps d'apprendre à déplacer les fichiers :D !


    Etape 4 : déplacer, copier, remplacer

    Comme nous apprendrons à couper / copier / coller, faites attention à ne pas écraser des fichiers par d'autres !


    Simple précision : ici vous apprendrez à utiliser 4 commandes. Lorsque vous les utiliserez, en copiant par exemple un fichier sur un autre qui existe déjà, DOS vous demandera confirmation (et c'est bien normal - heureusement :p ) si vous voulez vraiment le remplacer. Il sera alors indiqué :
    "Remplacer fichier.extension (Oui/Non/Tous) : "
    Entrez "O" pour oui, "N" pour non et "T" pour tous (juste au cas où vous n'aviez pas tilté :-° ).


    Voyons maintenant ces quatre commandes.

    Move



    Déplacer... move in english.

    Code : Console
     
    move fichierOuDossier destination


    move, tout comme les autres commandes que nous verrons ici, ne peut gérer par ce biais... qu'un seul fichier ou dossier ! Pour en déplacer plusieurs, il vous faudra utiliser les caractères génériques.

    move est l'équivalent de notre bien aimé couper-coller, avec la souris en moins ^^ .

    move ne déplace ni les fichiers système, ni les fichiers cachés, vous déclarant que "Le fichier spécifié est introuvable.". Il faut donc leur changer leur(s) attribut(s) avant de pouvoir les déplacer.


    Aucune autre explication n'est nécessaire, vous arriverez à vous débrouiller seuls ;) .

    Maintenant que nous savons couper-coller, nous allons voir comment copier-coller.

    Copy et Xcopy



    Pour copier, vous avez la commande copy (copier). copy, comme son nom l'indique, permet de copier... des fichiers, mais pas des dossiers. Cette commande a aussi quelques commutateurs... sans grande importance la plupart du temps.

    Code : Console
     
    copy fichierACopier destination

    ou, si vous souhaitez copier tout le contenu d'un dossier (mais uniquement le contenu, pas le dossier lui-même et sans le contenu de ses sous-dossiers) dans un autre :
    Code : Console
     
    copy dossierDontLesFichiersSontACopier dossierDeDestination


    Avec copy, vous pouvez aussi spécifier comme destination... un fichier ! On en reparlera dans le seconde partie :p .


    Comme pour move, copy ne peut gérer qu'un seul fichier ou dossier (dans le cas des dossiers, il ne touchera pas aux sous-dossiers...). Il faudra donc utiliser les caractères génériques le plus souvent. copy ne s'occupe pas non plus ni des fichiers système, ni des fichiers cachés. Rappel : copy ne permet pas de copier des dossiers.


    :o Mais y a bien une commande qui permet de copier des dossiers, non ?


    Oui, et il s'agit de xcopy. Elle est plus complexe mais permet pas mal de trucs intéressants.
    Avec une syntaxe très semblable à celle de copy, elle permet déjà d'inclure des fichiers cachés et système avec son commutateur /H.
    Code : Console
     
    xcopy *fichiers*.* destination /h

    Pour la copie de dossiers, donc d'arborescences, on a affaire au commutateur /E (variantes de ce commutateur : /S, qui ne copie que les fichiers et dossiers et sous-dossiers non vides et /T, qui ne s'occupe que des dossiers et sous-dossiers, mais uniquement ceux qui ne sont pas vides ; un /T /E s'occupe aussi des dossiers vides).

    Code : Console
     
    xcopy arborescence destination /e (ou les variantes ci-dessus)


    Pour xcopy, il faut aussi savoir que si vous spécifiez comme destination un dossier n'existant pas, DOS vous demandera :
    Code : Console
     
    Est ce que "destination" spécifie un nom de fichier ou un nom de répertoire de destination
    
    (F=Fichier, R=Répertoire) ?

    Devinez ce qu'il faut répondre ? R, bien ^^ ! xcopy vous créera ensuite le dossier de destination. (On parlera de la réponse F dans la seconde partie de ce big-tuto.)

    Voilà, ça suffit pour xcopy, il y a plein d'autres commutateurs, mais inutile d'en parler ici ;) .

    Une commande de "mise à jour"



    Sous DOS, il existe une sorte de raccourci pour mettre à jour des fichiers... une simple commande de remplacement.

    Code : Console
     
    replace fichier dossier

    fichier peut évidemment contenir toutes sortes de caractères génériques.

    replace (remplacer) copiera le(s) fichier(s) dans le dossier spécifié... uniquement si ceux-ci existent déjà et portent le même nom. Autrement dit : elle ne se contentera que de remplacer les fichiers qui existaient déjà, sans toucher aux autres.

    replace n'est pas une commande de remplacement au sens de "remplacer un fichier par un autre" : vous ne pouvez pas marquer : Code : Console
     
    replace fichierRemplaçant fichierARemplacer


    Ah ok... mais pour une mise à jour, ce serait bien de pouvoir, de un, décider de la date, remplacer uniquement des fichiers plus anciens par des fichiers plus récents, et de deux, de pouvoir rajouter de nouveaux fichiers...


    Et c'est le rôle des commutateurs ^^ :
    /U mettra vraiment à jour par des fichiers plus récents ;
    /S s'occupera aussi des sous-dossiers ;
    /A se contentera de ne rajouter que des nouveaux fichiers, sans toucher aux anciens (inutilisable avec les commutateurs /u ou /s).

    Allez, en bonus, deux "prototypes" de replace bien pratiques pour la mise à jour ;) :
    - mettre à jour un dossier par le biais d'un autre dossier (remplace uniquement les fichiers anciens par les plus récents)Code : Console
     
    replace dossierDeMiseAJour\* dossierAMettreAJour /u /s

    - rajouter uniquement les nouveaux fichiers non contenus dans le dossier à mettre à jour :Code : Console
     
    replace dossierDeMiseAJour\* dossierAMettreAJour /a


    Voilà donc pour déplacer, copier, remplacer ;) . La commande replace n'est pas essentielle car peut être remplacée par des copy ou des move, mais elle est parfois bien pratique ^^ .

    Passons maintenant à... la destruction.


    L'Etape 666 : destruction

    Vous voici désormais dans l'antre de La Bête Toufou, Zér0s ! Ici, dans le fin fond de la Cave, vous ferez connaissance de deux commandes : rd, remove directory (homonyme de rmdir, littéralement : enlever) effacer répertoire et del (delete, supprimer), homonyme de erase (effacer).

    Re-rappel : IL N'EXISTE PAS DE CORBEILLE SOUS DOS. UN FICHIER OU UN DOSSIER SUPPRIMÉ L'EST DÉFINITIVEMENT (cette fois-ci, j'espère que c'est vraiment bien clair et compris :p ).

    Je reprécise que je redécline toute reresponsabilité en cas de reproblème que vous aurez recausé à votre remachine.



    Maintenant que l'avertissement a été à nouveau explicité, on pourra voir ces commandes de plus près.

    RD (ou RMDIR)



    Deux commandes homonymes d'une simplicité à couper le souffle.
    Code : Console
     
    rd dossier

    Code : Console
     
    rd dossier1 dossier2 dossier3 ...
    supprimera un ou des dossiers vide(s).

    Il faudra rajouter le commutateur /s pour qu'il supprime le dossier... et tout ce qu'il contient.
    Code : Console
     
    rd dossier /s
    rd supprimera le dossier concerné et tout ce qu'il y a à l'intérieur définitivement... sur simple confirmation... => danger.

    Pour augmenter le péril, il y a encore le commutateur /q qui permet de ne pas devoir confirmer la suppression... je vous le déconseille très fortement.


    DEL (ou ERASE) :pirate:



    Code : Console
     
    del fichier

    Code : Console
     
    del fichier1 fichier2 fichier3 ...

    del supprimera le(s) fichier(s) sans confirmation.

    Simple d'utilisation aussi, del possède cependant plus de commutateurs, tous aussi simples d'emploi... j'apporte juste une précision sur deux d'entre eux : /A et /S.

    /A



    del ne supprime, si rien n'est précisé, que les fichiers avec uniquement l'attribut A ou sans attribut. Il est donc nécessaire de préciser les attributs si vous voulez supprimer des fichiers système, en lecture seule, ou cachés (il s'agit d'une sécurité). Si vous ne mettez rien après le /a:, del, comme pour dir, ne se préoccupera pas des attributs.

    /S



    Tout simplement un moyen "propre" de vider les répertoires de certains fichiers (ou de tout fichier, voir plus bas ^^ ) tout en gardant l'arborescence.

    Les caractères génériques fonctionnent sur del, mais pas sur rd... ainsi, un del * supprimera tous les fichiers dans le dossier courant (du moment qu'ils ne sont ni système, ni cachés, ni en lecture seule), et un del * /a: /s supprimera tout, dans le dossier courant et dans les sous-dossiers... mais gardera les dossiers eux-mêmes. Enfin bref, PRUDENCE. (Même si, heureusement, del demande une confirmation si vous utilisez des caractères génériques.)


    del ne peut en aucun cas supprimer des dossiers, seule rd a ce pouvoir.


    Ouf, vous êtes sortis de l'antre. Avec ce nouveau pouvoir, vous serez désormais prêts à affronter dans les plus brefs délais... le bilan, l'exo, et le QCM ^^ ...


    Quitter l'invite de commandes

    Pour finir ce chapitre et cette partie... nous parlerons de comment "finir" DOS :p .

    Juste une question... comment faites-vous pour quitter l'invite de commande ?

    C'te question :o ! Je clique sur la petite croix en haut à droite, bien sûr o_O !


    C'est bien ce que je croyais ^^ . Eh bien, d'abord, figurez-vous que... les premiers Dossiens... ils ne l'avaient pas, leur petite croix en haut à droite. Comment ils faisaient, eux, pour quitter DOS ? (Bon, c'est vrai que quitter DOS revenait à éteindre l'ordinateur... et éteindre un ordinateur "à la barbare" ne posait pas de problème sous DOS si aucun processus n'était en cours, mais bon bref :-° )

    Je parie qu'il y a une commande pour quitter, c'est ça :D ?


    Gagné ! Et là, attention...

    Code : Console
     
    exit



    Tadaaah :D ! La voici, la voilà, toute simple et évidente, elle vous permet de quitter l'invite de commande :p .

    Source : http://www.siteduzero.com/tutoriel-3-9064-les-bases-du-ms-dos.html?all=1#ss_part_9060

     


    votre commentaire


    Suivre le flux RSS des articles de cette rubrique
    Suivre le flux RSS des commentaires de cette rubrique