Chapitre – 7
Commandes DOS requises
Introduction
Lorsque nous essayons de récupérer des données à partir d’un disque, l’effort requis pour récupérer la perte dépend du cas de perte de données. Dans de nombreux cas, il est possible que si nous avons une connaissance suffisante de certaines commandes DOS (Disk Operating System) importantes , nous puissions récupérer des données avec moins d'effort.
Dans certains cas, il est possible que nous puissions récupérer des données sans programmation, simplement en utilisant ces commandes avec un esprit intelligent.
Je suppose que vous ne savez rien sur DOS et ses commandes. Dans ce chapitre d'introduction aux commandes DOS, nous découvrirons uniquement les commandes qui peuvent nous aider à récupérer nos données. Commençons par examiner l’évolution de MS-DOS.
Bref historique
Le système d'exploitation MS-DOS est basé sur la famille de microprocesseurs Intel 8086. MS-DOS est passé d'un simple chargeur de programmes à un système d'exploitation complexe et stable pour ordinateurs personnels.
Système d'exploitation de disque Microsoft (MS-DOS) version 1.0
IBM a développé cet ordinateur au début des années 1980. Microsoft a développé MS-DOS 1.0. Sorti en août 1981, il comprenait 4 000 lignes de code source en langage assembleur et fonctionnait sur 8 kilo-octets de mémoire.
Peu de temps après, en 1982, la version 1.1 de MS-DOS est sortie, prenant en charge les disquettes double face de 320 Ko. Les versions de DOS vendues par IBM sont appelées IBM-DOS ou PC-DOS.
Version MS-DOS 2.0
Lorsque IBM a commencé à développer un disque dur de 10 mégaoctets, Microsoft a commencé à travailler sur le développement de la version 2.0 de DOS qui serait conçue pour prendre en charge le disque dur. Jusqu'à présent, DOS 1.0, fidèle à son héritage, avait été conçu pour l'environnement des disquettes. L’une des principales limitations de DOS 1.0 est que son répertoire est limité à un maximum de 64 fichiers.
La version 2.0 de MS-DOS a été conçue pour inclure un système de fichiers conçu de manière hiérarchique. L’importance d’un système de fichiers hiérarchique est que n’importe quel répertoire peut contenir à la fois des fichiers et d’autres sous-répertoires. Les systèmes de fichiers hiérarchiques étaient déjà utilisés dans le système d'exploitation UNIX, qui servait de plate-forme de développement pour le système d'exploitation MS-DOS/IBM-DOS. En fait, certains des concepts de base de MS-DOS sont similaires à ceux de leurs homologues UNIX.
Versions MS-DOS 3.0–5.0
La version 3.0 a été publiée en août 1984 pour prendre en charge l'IBM PC/AT. La version 3.1 a été publiée en novembre 1984 et incluait le support réseau. La version 3.2 de janvier 1986 prenait en charge les disques 3,5 pouces. La version 3.3 d'IBM a suivi en 1987, principalement destinée à prendre en charge la gamme d'ordinateurs IBM PS/2.
De nombreuses nouvelles fonctions et commandes ont été ajoutées à la version 3.3 de MS-DOS. La version 3.31 de Compaq DOS autorisait les partitions de disque dur supérieures à 32 mégaoctets.
La version 4.01 de MS-DOS lit également les partitions supérieures à 32 mégaoctets. Initialement publié sous le nom de MS-DOS 4.0, quelques bugs mineurs ont conduit à la publication d'une version mise à jour 4.01 avec divers correctifs. Cette version a ajouté des écrans complets, une interface pilotée par menu appelée DOS SHELL et une prise en charge supplémentaire des spécifications de mémoire étendue.
La version 5.0 a été développée pour remplacer toutes les versions précédentes de DOS. Avec DOS 5.0, IBM et Microsoft vendaient tous deux le même DOS, même la documentation était similaire. Les besoins en mémoire ont été considérablement réduits. Des améliorations significatives ont été apportées à la prise en charge de la mémoire étendue et supplémentaire.
L'éditeur DOS « EDIT » était inclus avec cette version de DOS. DOS SHELL est complètement nouveau. QBASIC a été introduit pour remplacer BASICA et GWBASIC. Cette version offrait un moyen de récupérer des données qui avaient été accidentellement perdues il y a au moins un certain temps.
Version MS-DOS 6.0
La version 6.0 inclut de nombreux nouveaux programmes pour améliorer les performances DOS. Ils comprenaient :
- Microsoft Double Space est un programme de compression de disque intégré qui augmente l'espace disque disponible en compressant les fichiers.
- Microsoft Mem Maker est un programme d'optimisation de la mémoire qui facilite le déplacement des pilotes de périphériques et des programmes résidents de la mémoire normale vers la zone de mémoire supérieure.
- Pilote de périphérique EMM386.EXE amélioré pour permettre l'accès à davantage de blocs de mémoire supérieure
- Commandes loadhigh et devicehigh améliorées qui vous permettent de spécifier la région de mémoire dans laquelle charger un programme
- Microsoft Backup, un programme qui facilite la sauvegarde de vos données
- Microsoft Anti-Virus, un programme qui peut identifier et supprimer de nombreux virus informatiques différents
- Microsoft Undelete, un programme amélioré qui vous permet de choisir un ou trois niveaux de protection au cas où vous supprimeriez accidentellement un fichier,
- La possibilité d'inclure plusieurs configurations dans le fichier CONFIG.SYS. La possibilité de contourner les commandes de démarrage lorsque vous allumez votre ordinateur
- Aide MS-DOS, une référence en ligne complète sur les commandes MS-DOS
MS-DOS version 7.0 (Windows 95)
DOS est fourni avec Windows 95 pour une compatibilité ascendante avec les applications DOS et Windows 3.x. Voyons l'évolution de MS-DOS vers Windows dans le tableau suivant :
Version MS-DOS |
Notes et commentaires |
MS-DOS 1.0 |
Premier système d'exploitation sur IBM PC en 1981 |
MS-DOS 1.25 |
Prise en charge du disque double face et corrections de bogues ajoutées |
MS-DOS 2.0
|
Introduit avec IBM PC/XT en 1983 et prenant en charge la structure de fichiers hiérarchique et les disques durs. |
MS-DOS 2.01 |
2.0 avec support international |
MS-DOS 2.11 |
2.01 avec corrections de bugs |
MS-DOS 2.25 |
Prise en charge des jeux de caractères étendus |
MS-DOS 3.0 |
Prise en charge des disquettes de 1,2 Mo et des disques durs plus grands ajoutée |
MS-DOS 3.1 |
Ajout de la prise en charge des réseaux Microsoft |
MS-DOS 3.2 |
Prise en charge des disques 3,5 pouces ajoutée |
MS-DOS 3.3 |
Prise en charge généralisée des pages de codes (polices) |
MS-DOS 4.0 |
Prise en charge des volumes logiques supérieurs à 32 Mo et de Visual Shell |
Windows 1.0 |
Interface utilisateur graphique pour MS-DOS |
Windows 2.0 |
Compatibilité avec OS/2, Presentation Manager |
Windows 95 |
Version utilisée 4.00.950 |
Windows 95 SE |
Version utilisée 4.00.1111 |
Windows 98 |
Version utilisée le 4.10.1998 |
Windows 98 Deuxième Édition |
Version utilisée 4.10.2222 |
Windows Millennium |
Version utilisée 4.90.3000 |
Windows NT |
Version 4.0 utilisée |
Windows 2000 |
Version utilisée 5.00.2195 |
Windows XP |
Version utilisée 5.1.2600 |
Commandes nécessaires
Apprenons quelques commandes importantes qui peuvent être utiles lorsque nous essayons de récupérer des données par des techniques de programmation et de non-programmation :
ATTRIBUTION
La commande ATTRIB permet d'afficher, de définir ou de supprimer un ou plusieurs des quatre attributs (lecture seule, archive, système et caché) qui peuvent être attribués aux fichiers et aux répertoires. Elle est généralement utilisée pour supprimer les attributs lecture seule, caché et système afin qu'un fichier puisse être déplacé ou supprimé ou également pour les définir de manière à ce qu'il ne puisse pas l'être.
Syntaxe:
Pour afficher les paramètres d’attribut de tous les fichiers du répertoire actuel :
ATTRIBUTION
Pour afficher les attributs d’un répertoire :
nom du répertoire ATTRIB
Pour afficher les attributs d’un fichier :
nom de fichier ATTRIB
Pour définir ou supprimer les attributs d’un fichier ou d’un répertoire :
ATTRIB [ + | - R] [ + | - A] [ + | - S] [ + | - H] [répertoire|nom de fichier] [/S]
+ Définit un attribut, - Efface un attribut.
R |
Attribut de fichier en lecture seule. |
UN |
Attribut du fichier d'archive. |
S |
Attribut de fichier système |
H |
Attribut de fichier caché. |
/S |
Traite les fichiers dans tous les répertoires du chemin spécifié. |
L'attribut Lecture seule permet d'accéder à un fichier mais pas de le modifier. L'attribut Système est normalement réservé aux fichiers nécessaires au chargement correct de DOS ou de Windows. Les fichiers et répertoires avec l'attribut Caché ne sont normalement pas affichés dans les listes de répertoires ou les boîtes de dialogue Ouvrir les fichiers.
La raison habituelle pour laquelle les dossiers sont masqués est qu'ils sont importants pour le fonctionnement du système ou du programme et ne doivent pas être supprimés ou déplacés lors d'opérations de rangement occasionnelles. Les dossiers cachés et les dossiers système ont souvent également l'attribut Lecture seule défini.
Plusieurs attributs peuvent être définis ou supprimés en combinant des commutateurs, séparés par des espaces. Bien que les fichiers et les répertoires puissent avoir des attributs assignés et supprimés à l'aide d'ATTRIB, il existe des différences dans la façon dont ils se comportent. La plus évidente est que les caractères génériques (? et *) peuvent être utilisés pour afficher ou modifier les attributs d'un groupe de fichiers, tandis que les répertoires doivent être nommés en entier. Nous découvrirons en détail les caractères génériques et les raccourcis plus loin dans ce chapitre.
La définition d'un attribut de fichier sur Système, Masqué ou Lecture seule empêchera la suppression ou le déplacement du fichier à l'aide des commandes DEL, ERASE ou MOVE, mais ne protégera pas les fichiers contre DELTREE ou FORMAT. Bien que l'attribut Lecture seule d'un répertoire puisse être défini, cela ne semble pas avoir beaucoup d'utilité.
Tout d'abord, l'attribut s'applique uniquement au répertoire et non aux fichiers qu'il contient. De plus, définir un dossier en lecture seule n'empêche pas sa suppression, mais dans l'explorateur Windows, un message d'avertissement s'affiche avant que le dossier ne soit supprimé ou déplacé.
Pour afficher les attributs d'un fichier nommé « readme » :
Lisez-moi ATTRIB
Pour attribuer l'attribut Lecture seule au fichier « readus.txt », utilisez :
ATTRIB readus.txt +R
Pour supprimer les attributs Système et Cachés de « data19.txt » :
ATTRIB -S -H données19.txt
Pour masquer le répertoire « c:\mynotes »
ATTRIB +H c:\mynotes
Pour masquer les fichiers, mais pas les répertoires dans le C:
ATTRIB +H c:*.*
CD (ou CDIR)
Modifie (ou affiche) le répertoire actuel sur le lecteur spécifié.
Syntaxe:
Pour afficher le répertoire courant :
CD [lecteur:]
Pour changer le répertoire actuel :
Chemin du CD
Chemin Modifie le répertoire courant en chemin. Chaque lecteur possède son propre « répertoire courant » qui reste « courant » jusqu'à ce qu'il soit modifié. Par conséquent, la modification du répertoire courant du lecteur c: n'affectera pas l'état du répertoire courant de tout autre lecteur. Pour passer au répertoire courant sur un autre lecteur, entrez simplement la lettre du lecteur et deux points.
Si le lecteur actuel est c:, pour entrer dans le répertoire "
c:\windows\java"
CD \windows\java
Si le répertoire courant est déjà « c:\windows », il suffit de :
CD java
Pour changer le répertoire actuel « c:\windows\java » vers le répertoire parent « c:\windows » :
CD..
Supposons que vous soyez actuellement dans le répertoire « c:\windows\java\notes\klip\ », maintenant si vous voulez accéder directement au répertoire Windows, augmentez simplement les deux points supplémentaires (..) que nous avons fait dans le cas précédent, comme ce
CD….
Si le répertoire courant sur le lecteur c: est « c:\windows\notes » et le répertoire courant sur le lecteur e: est « e:\movie », alors pour copier tous les fichiers de « e:\movie » vers « c\windows\notes » :
COPIE e:*.* c:
Pour copier tous les fichiers de « e:\downloads » vers le répertoire racine de c:
COPIE e:*.* c:\
CHKDSK
CHKDSK permet de vérifier l'état d'un disque, de corriger certaines erreurs de disque et d'afficher un rapport d'état indiquant les erreurs détectées dans la table d'allocation de fichiers (FAT) et la structure des répertoires. CHKDSK affiche également un résumé de l'utilisation du disque. Si des erreurs sont détectées sur le disque, CHKDSK affiche un message d'avertissement.
Syntaxe:
CHKDSK [chemin] [/F] [/V]
Chemin Spécifie le lecteur et le répertoire à vérifier.
/F Corrige les erreurs sur le disque.
/V Affiche le chemin complet et le nom de chaque fichier sur le disque
SCANDISK peut détecter et résoudre de manière fiable une gamme beaucoup plus large de problèmes de disque et est généralement préféré au CHKDSK quelque peu obsolète. Le commutateur /F (pour corriger les erreurs détectées) ne doit pas être utilisé lorsqu'un programme autre que DOS et CHKDSK lui-même est en cours d'exécution.
CHKDSK ne peut pas être utilisé sur des lecteurs créés à l'aide de SUBST, ni sur des lecteurs réseau. Sous Win98, CHKDSK ne vérifie pas le disque, mais fournit néanmoins certaines données de base
Vous ne devez pas analyser le disque avec CHKDSK ou SCANDISK ou tout autre programme d'analyse de disque si votre disque est en panne ou s'il y a une erreur logique dans vos secteurs de démarrage comme MBR, DBR, FAT ou si les répertoires racines sont corrompus. Cela peut déformer vos informations de données et rendre leur récupération difficile. De plus, vous risquez de ne pas récupérer complètement les données. |
CLS
Efface l'écran en laissant uniquement l'invite de commande et le curseur.
Syntaxe:
CLS
COMMANDE
Démarre une nouvelle copie de l'interpréteur de commandes.
Syntaxe:
COMMANDE [chemin] [périphérique] [/Switches]
Chemin Lecteur et répertoire contenant command.com. Ceci doit être spécifié sauf si command.com se trouve dans le répertoire racine.
Appareil Appareil à utiliser pour l'entrée et la sortie de commandes. Par défaut, il s'agit du clavier et du moniteur.
/P Rend le nouvel interpréteur de commandes permanent.
/E:x Définit la taille initiale de l'environnement [octets]. x doit être compris entre 256 et 32 768 octets. La valeur par défaut est : 256 octets.
/L:y Longueur des tampons internes [octets]. y doit être compris entre 128 et 1 024 octets. Ce commutateur n'est accepté que si l'interpréteur de commandes est permanent. Le commutateur /P doit également être défini.
/U:z Longueur du tampon d'entrée [octets]. z doit être défini entre 128 et 255 octets. La valeur par défaut est : ? Ce commutateur n'est accepté que si l'interpréteur de commandes est permanent. Le commutateur /P doit également être défini.
/MSG Stocke tous les messages d'erreur en mémoire. Ce commutateur n'est accepté que si l'interpréteur de commandes est permanent. Le commutateur /P doit également être défini.
/LOW Force COMMAND à rester en mémoire basse
/Y Parcourt le programme de commandes spécifié par /C ou /K
/C commande Exécute la commande et quitte. Il doit s'agir du dernier commutateur de la ligne de commande.
/K commande Exécute la commande et continue son exécution. Il doit s'agir du dernier commutateur sur la ligne de commande.
COPIE
L'utilisation principale de COPY est de copier un ou plusieurs fichiers vers un autre emplacement, mais il peut également être utilisé pour combiner (ajouter et concaténer) des fichiers et pour taper directement dans un fichier, une imprimante ou un autre périphérique.
Syntaxe:
COPIE [/A | /B] source [/A | /B] [+ source [/A | /B] [+ ...]]
[destination [/A | /B]] [/V] [/Y | /-Y]
source Le(s) fichier(s) à copier. Bien qu'il doive s'agir d'un seul paramètre, il peut inclure plusieurs fichiers spécifiés à l'aide de caractères génériques (* ou ?). Il peut également s'agir d'un périphérique valide (par exemple CON)
comme COPY CON NOTES.TXT
écrivez ou copiez maintenant le texte et sortez en entrant la touche Ctrl+Z.
destination Le répertoire et/ou le nom du ou des nouveaux fichiers. Si la destination n'est pas spécifiée, la source est copiée dans le répertoire actuel avec le même nom et la même date de création que l'original. Si la source se trouve dans le répertoire actuel, un message d'erreur s'affiche indiquant que le « fichier ne peut pas être copié sur lui-même ».
fichier /A Force COPY à traiter le fichier comme un fichier texte ASCII.
fichier /B Force COPY à traiter le fichier comme un fichier binaire.
/V Vérifie que les nouveaux fichiers peuvent être lus.
/Y Aucune invite d'avertissement avant d'écraser un fichier.
/-Y Affiche un avertissement et nécessite une confirmation avant d'écraser un fichier.
Lorsqu'il est utilisé à partir de la ligne de commande, si un fichier spécifié dans destination existe déjà à l'emplacement spécifié, COPY affichera par défaut un message d'avertissement et demandera une confirmation avant d'écraser l'ancien fichier. En revanche, lorsque COPY est utilisé dans un fichier batch, tous les fichiers existants seront écrasés sans avertissement.
Ce comportement par défaut peut être modifié en préréglant le commutateur /Y | /-Y dans la variable d'environnement COPYCMD et annulé en utilisant le commutateur /Y | /-Y sur la ligne de commande.
COPY ne copie pas les fichiers de 0 octet de long ; au lieu de cela, il supprime ces fichiers. Utilisez XCOPY pour copier ces fichiers. La source et/ou la destination peuvent être un périphérique approprié (tel que CON, COMx ou LPTx où x est 1,2,3 exc.) plutôt qu'un fichier.
Selon le contexte, Copy traite les fichiers comme des fichiers binaires ou des fichiers texte ASCII. Par défaut :
- Lors de la copie de fichiers d'un emplacement à un autre (ASCII ou non), COPY suppose le mode binaire,
- Lors de la concaténation de fichiers, COPY suppose le mode ASCII,
- Lorsque la source ou la destination est un périphérique (autre qu'un disque), la copie suppose le mode ASCII.
Lorsqu'il fonctionne en mode binaire, COPY détermine l'emplacement de départ du fichier à partir de la table d'allocation de fichiers et copie le nombre d'octets alloués à ce fichier à partir de ce point.
En mode ASCII, les données sont copiées jusqu'à ce qu'un caractère de fin de fichier (caractère ASCII n° 26 ; Ctrl-Z) soit atteint. Ce caractère n'est PAS copié, mais COPY ajoute un caractère EOF avant de fermer le nouveau fichier.
Cette procédure compliquée permet à COPY de concaténer des fichiers et de fonctionner avec des entrées autres que des fichiers (comme le clavier). Dans les rares cas où le mode par défaut est inapproprié, il peut être remplacé en ajoutant le commutateur /A ou /B aux fichiers source et/ou de destination selon les besoins.
Pour copier « note.txt » du lecteur et du répertoire actuels vers le répertoire « mynotes » :
COPIER note.txt c:\mynotes
ou
COPIER note.txt c:\mynotes\
Dans le premier cas, si le répertoire « mynotes » n'existe pas, « note.txt » est copié dans un fichier nommé « mynotes » dans le répertoire racine du lecteur C. Dans le second cas, un message d'erreur « Répertoire invalide » s'affiche. Pour copier tous les fichiers du répertoire « mynotes » dans un répertoire nommé « sauvegarde mynotes » sur le lecteur D :
COPIE c:\mynotes\*.* d:\mynotes backup\
Pour faire une copie de « note.txt » dans le lecteur et le répertoire actuels et l'appeler « programme note.txt »
COPIER note.txt "programme note.txt"
DÉBOGUER
DEBUG est une méthode permettant d'examiner des parties de votre ordinateur et d'écrire du code assembleur pour effectuer certaines tâches sur votre ordinateur. MS-DOS 2.x - 4.x utilisait DEBUG.COM et MS-DOS 5.x et au-delà utilisait DEBUG.EXE pour cela.
DEBUG.EXE est l'un de ces petits programmes qui, entre les mains d'un utilisateur expérimenté, constitue un outil étonnamment puissant avec lequel on peut visualiser et éditer le contenu de la mémoire à court terme (RAM) et à long terme (disque dur/disquette/bande). On peut également compiler (et, jusqu'à un certain point, décompiler) du code en langage assembleur.
DEBUG est un éditeur d'octets qui permet de visualiser et de modifier les fichiers au niveau de l'octet. Il est généralement recommandé car il n'y a pas de commande "annuler", donc faites une sauvegarde avant de jouer avec. Assurez-vous de savoir ce que vous faites lorsque vous utilisez l'utilitaire DEBUG.
Il s'agit d'un outil de programmation puissant qui peut être utilisé pour accéder à votre ordinateur au niveau matériel. Si vous ne faites pas attention, vous risquez de provoquer des dommages tels que l'effacement de votre disque dur ou le blocage de votre clavier.
Syntaxe:
DEBUG [nom de fichier]
DEBUG [[lecteur :] [chemin] nom de fichier [paramètres du fichier de test]]
[lecteur :][chemin]nom de fichier Spécifie le fichier que vous souhaitez tester.
testfile-parameters Spécifie les informations de ligne de commande requises par le fichier que vous souhaitez tester.
Comment démarrer DEBUG
DEBUG peut être démarré de deux manières.
Méthode 1 :
À l'invite DOS, vous entrez
DEBUG (retour)
DEBUG répondra avec le tiret (-). Lorsque l'invite apparaît, DEBUG attend que vous saisissiez l'une de ses nombreuses commandes à une lettre. Démarrer DEBUG de cette manière vous permettra de travailler sur le matériel interne de l'ordinateur et d'afficher le contenu de tous les emplacements de mémoire de la RAM. Vous pouvez également charger jusqu'à 128 secteurs d'une disquette ou d'un disque dur et afficher, éditer ou déplacer le contenu vers un autre emplacement.
DEBUG crée une zone de travail en mémoire de 65 535 emplacements d'un octet (décimal), ce qui équivaut à FFFF octets en hexadécimal. Les 256 premiers octets (décimaux) ou 100 octets hexadécimaux de cette zone sont réservés à ce que l'on appelle le préfixe de segment de programme (PSP) d'un programme et ne doivent en aucun cas être modifiés. Chaque fois que nous chargeons des secteurs ou des données en mémoire avec DEBUG, ils doivent être placés à un emplacement commençant à l'offset 100.
Un exemple de commande de débogage est affiché sur la ligne suivante.
DÉBOGUER
L 0100 0 0 80 (retour)
Dans cette commande, nous demandons à debug de charger dans la mémoire à partir du décalage 100, 80 secteurs (Hex) du lecteur A en commençant par le secteur 0. 80 secteurs hexadécimaux sont égaux à 128 secteurs décimaux, donc si chaque secteur du disque stocke 512 octets, le nombre total d'octets chargés en mémoire est (512 X 128) ou 65 540 octets (maximum).
Méthode 2 :
À l'invite DOS, vous entrez
DEBUG \path\filename (retour)
DEBUG se chargera alors en mémoire avec le fichier spécifié dans le champ chemin et nom de fichier de la ligne de commande et placera le premier octet du fichier à l'offset 100 de la zone de travail.
En démarrant DEBUG de cette façon, nous pouvons visualiser, éditer ou déplacer un programme COM ou un fichier texte ASCII. C'est une manière très pratique de DEBUG ou de réparer un programme COM.
MS-DOS autorise seulement deux types de programmes à s'exécuter sous son contrôle et ils doivent se terminer par l'extension EXE ou COM. La différence entre ces deux types de programmes réside dans la façon dont DOS gère les parties de maintenance du programme.
Cette zone de maintenance, souvent appelée préfixe de segment de programme (PSP), est un bloc de mémoire de 256 octets qui doit être mis de côté par le programme et est nécessaire à DOS pour rendre le contrôle au système d'exploitation lorsque le programme se termine.
Sans entrer dans beaucoup de détails, nous allons souligner la différence majeure entre ces deux types de programmes.
Extension COM
Les programmes COM sont des programmes très petits et compacts dont la taille ne peut pas dépasser 65 Ko. Le PSP d'un programme COM est situé dans les 100 premiers emplacements hexadécimaux (256 déc) du programme. La première instruction du programme COM doit commencer à l'offset 100 en mémoire.
DOS crée le PSP pour le programme COM, ce qui signifie que nous n'avons pas à nous en préoccuper lorsque nous assemblons un programme. Toutes les données, le code et la zone de pile se trouvent dans le même segment de mémoire (1 segment correspond à 64 Ko).
Extension EXE
Les programmes EXE peuvent avoir une taille comprise entre 200 octets et 640 Ko. Le PSP doit être configuré par le programmeur lors de l'assemblage du programme. Le programmeur détermine où se trouve la première instruction dans le programme. Le programme EXE utilise des segments séparés pour les données, le code et la zone de pile en mémoire.
En comparant les propriétés des fichiers EXE et COM, vous pouvez voir qu'il est beaucoup plus difficile d'assembler un programme EXE qu'un programme COM. Le programme utilitaire de débogage a été conçu pour fonctionner uniquement avec un programme COM en configurant la zone PSP à chaque fois que nous entrons en mode débogage.
Une fois dans DEBUG, nous pouvons démarrer l'assemblage d'un programme à l'offset 100 et ne pas nous soucier du PSP ou de l'emplacement des données, du code et de la pile. Il est possible de consulter un programme EXE avec DEBUG si nous renommons le programme avec une extension différente avant de le charger en mémoire.
Une fois DEBUG démarré, tapez ? pour afficher une liste de commandes de débogage. Pour sortir de DEBUG, vous devez appuyer sur « Q » et sur Entrée. Pour exécuter la routine DEBUG, vous devez appuyer sur « G » et sur Entrée.
Voyons un exemple :
DEBUG <retour>
D40:00 <retour>
Les informations sur les ports de votre ordinateur s'affichent. Si un port est absent ou ne répond pas, l'état de ce port sera affiché comme 00.
Entrez maintenant Q pour revenir.
Q <retour>
Une fois DEBUG appelé, l'invite DEBUG quelque peu cryptique, un tiret (-), s'affiche. À l'invite, les « commandes DEBUG » suivantes sont valides :
Commande |
Paramètres |
Action |
? |
|
Cette liste de commandes DEBUG. |
UN |
[adresse] |
Assembler |
C |
plage d'adresses |
Comparer |
D |
[adresse de début [adresse de fin | plage L]] |
Affiche un segment de mémoire. Par défaut, l'adresse de début est le décalage 100 du premier segment libre de mémoire, ou le décalage 100 du segment contenant un fichier chargé par DEBUG. L' adresse de fin par défaut est 017F (une plage de 128 octets). |
ET |
adresse [liste] |
Entrer |
F |
liste de gamme |
Remplir |
G |
[=adresse] [adresses] |
Aller |
H |
valeur1 valeur2 |
Hex |
je |
Port |
Saisir |
L |
- |
Charge un fichier précédemment « nommé » (par la commande N) en mémoire où il peut être visualisé/modifié. |
L |
Nombre |
Utilisé avec les commandes acceptant un argument « plage » pour désigner un nombre d'octets. Généralement utilisé dans les arguments tels que : adresse de début L nombre . Si nombre doit dépasser l'adresse de fin au-delà de la fin du segment, alors nombre est tronqué de sorte que l' adresse de fin soit le dernier octet du segment. |
M |
plage d'adresses |
Se déplacer |
N |
[chemin] nom de fichier [arglist] |
« Nommez » un fichier pour DEBUG. Un fichier doit être « nommé » avant de pouvoir être chargé pour visualisation/modification. |
LE |
octet de port |
Sortir |
P |
[=adresse] [numéro] |
Procéder |
Q |
|
Quitter DEBUG. |
R |
[registre] |
Registre |
S |
liste de gamme |
Recherche |
T |
[=adresse] [valeur] |
Tracer |
DANS |
[gamme] |
Non assemblé |
DANS |
[adresse] [allée] [premier secteur] [numéro] |
Écrire |
SHAH |
[#pages] |
Allouer de la mémoire étendue |
XD |
[poignée] |
désallouer la mémoire étendue |
XM |
[Page principale] [Page principale] [poignée] |
Cartographier les pages de mémoire étendues |
XS |
|
Afficher l'état de la mémoire étendue |
SUPPRIMER (ou EFFACER)
Supprime les fichiers nommés. DEL et ERASE sont synonymes.
Syntaxe:
Pour supprimer un fichier :
DEL [chemin] nom de fichier [/P]
Nom de fichier Nom du fichier à supprimer.
/P Force la confirmation avant la suppression de chaque fichier.
Pour supprimer tous les fichiers d’un répertoire avec confirmation :
Chemin DEL ou
chemin DEL \*.*
Pour supprimer tous les fichiers d’un répertoire sans confirmation :
chemin\?*.*
DEL n'accepte qu'un seul paramètre spécifiant ce qui doit être supprimé. Cependant, ce paramètre peut être écrit à l'aide de caractères génériques afin que plusieurs fichiers soient supprimés. Si plusieurs paramètres sont détectés, la commande s'arrête et un message d'erreur s'affiche.
DEL sera interprété avec un nom de fichier long avec des espaces comme paramètres multiples, ce qui provoquera une erreur. Entourer le nom de fichier long avec des espaces entre guillemets résout le problème. Voyons un exemple :
D:\>supprimer la note 2.txt
Trop de paramètres - 2.txt
D:\>supprimer "note 2.txt"
D:\>_
DEL ne supprime pas les fichiers dont les attributs sont en lecture seule, masqués et/ou système. Pour supprimer ces fichiers, on peut utiliser DELTREE ou modifier les attributs nécessaires avec la commande ATTRIB.
DELTREE
Supprime les fichiers et les répertoires, ainsi que tous les sous-répertoires et fichiers qu'ils contiennent.
Syntaxe:
Pour supprimer un répertoire et tous les sous-répertoires et fichiers qu'il contient :
Répertoire DELTREE [/Y]
répertoire Le répertoire à supprimer.
/Y Supprime les demandes de confirmation avant la suppression.
Pour supprimer tous les fichiers et sous-répertoires mais conserver le répertoire lui-même :
Répertoire DELTREE [/Y]\*.*
Pour supprimer un fichier :
Nom de fichier DELTREE [/Y]
La commande DELTREE supprime tous les fichiers contenus dans un répertoire ou un sous-répertoire, que les fichiers soient marqués comme cachés, système ou en lecture seule.
La commande DELTREE prend en charge les caractères génériques, mais ils doivent être utilisés avec précaution. Si vous spécifiez un caractère générique qui correspond à la fois aux noms de répertoires et aux noms de fichiers, les répertoires et les fichiers seront supprimés.
Avant de spécifier des caractères génériques avec la commande DELTREE, utilisez la commande DIR /A pour afficher les fichiers et répertoires que vous allez supprimer. Il est également plus sûr de spécifier le chemin complet pour éviter toute surprise due à une spécification ambiguë. Voyons quelques exemples.
Pour supprimer le répertoire NOTES sur le lecteur C, y compris tous les fichiers et sous-répertoires du répertoire NOTES :
DELTREE c:\notes
Pour supprimer tous les fichiers et sous-répertoires du répertoire NOTES en laissant un répertoire NOTES vide pour une utilisation ultérieure et en évitant l'invite de confirmation :
DELTREE /Y c:\notes\*.*
Pour supprimer le fichier en lecture seule recovery.doc dans le répertoire c:\data sans réinitialiser les attributs :
DELTREE /Y c:\data\recover.doc
DOSKEY
DOSKEY est un TSR conçu pour faciliter le travail à partir de la ligne de commande en facilitant l'édition de la ligne de commande, en mémorisant les commandes précédentes et en étant capable d'enregistrer des macros.
Syntaxe:
Pour charger DOSKEY :
DOSKEY [/Commutateurs]
Interrupteurs |
ce qu'il fait |
/B: xxx |
Définit la taille du tampon pour les macros et les commandes. La valeur minimale de xxx est 256 et la valeur par défaut est 512 (octets). Si DOSKEY est déjà en cours d'exécution, il doit être rechargé (avec /R) lors du changement de la taille du tampon. |
/E:Activé|Désactivé |
Active|Désactive l'affichage des commandes lorsqu'une macro est exécutée. E (Echo) est activé par défaut. |
/F:nom de fichier |
Récupère le nom de fichier - un fichier texte contenant une liste de macros sous la forme Macroname=Text |
/H |
Affiche toutes les commandes stockées en mémoire. (Cette liste ne sera pas redirigée vers un fichier). |
/I|O |
Spécifie si le texte est saisi en mode Insertion ou Écrasement par défaut. Dans les deux cas, le mode alternatif peut être sélectionné en utilisant <Insertion> mais la valeur par défaut est réinitialisée dès que <Entrée> est utilisé. Le mode par défaut est Écrasement. |
/K: xx |
Définit la taille du tampon de saisie semi-automatique du clavier. La valeur par défaut est 15 (caractères). Si DOSKEY est déjà en cours d'exécution, il doit être rechargé (avec /R) lors du changement de la taille du tampon. |
/L |
Définit la taille maximale du tampon d'édition de ligne. La valeur par défaut est 128 (caractères). |
/M |
Affiche une liste de toutes les macros DOSKEY actuellement présentes dans le tampon. Cette liste peut être redirigée vers un fichier texte à l'aide de la redirection DOS standard (>) |
/R |
Installe une nouvelle instance de DOSKEY. Si DOSKEY est déjà en cours d'exécution, le tampon est vidé des macros et de l'historique de la ligne de commande. Notez que l'installation d'une nouvelle instance de DOSKEY ne supprime pas l'instance précédente. Ainsi, chaque utilisation de /R prend 5 Ko supplémentaires de mémoire conventionnelle/supérieure. |
Nom de la macro |
Le nom de la macro. Il s'agit d'une chaîne d'un ou plusieurs caractères éventuellement modifiés par les touches Ctrl et/ou Alt. |
Texte |
La chaîne de texte à affecter à Macroname . Il s'agit généralement d'une ou plusieurs commandes DOS accompagnées des paramètres et/ou commutateurs appropriés. |
Pour créer une macro DOSKEY :
DOSKEY Macroname=Text
Pour exécuter une macro :
Nom de la macro
Interrupteurs |
ce qu'il fait |
/B: xxx |
Définit la taille du tampon pour les macros et les commandes. La valeur minimale de xxx est 256 et la valeur par défaut est 512 (octets). Si DOSKEY est déjà en cours d'exécution, il doit être rechargé (avec /R) lors du changement de la taille du tampon. |
/E:Activé|Désactivé |
Active|Désactive l'affichage des commandes lorsqu'une macro est exécutée. E (Echo) est activé par défaut. |
/F:nom de fichier |
Récupère le nom de fichier - un fichier texte contenant une liste de macros sous la forme Macroname=Text |
/H |
Affiche toutes les commandes stockées en mémoire. (Cette liste ne sera pas redirigée vers un fichier). |
/I|O |
Spécifie si le texte est saisi en mode Insertion ou Écrasement par défaut. Dans les deux cas, le mode alternatif peut être sélectionné en utilisant <Insertion> mais la valeur par défaut est réinitialisée dès que <Entrée> est utilisé. Le mode par défaut est Écrasement. |
/K: xx |
Définit la taille du tampon de saisie semi-automatique du clavier. La valeur par défaut est 15 (caractères). Si DOSKEY est déjà en cours d'exécution, il doit être rechargé (avec /R) lors du changement de la taille du tampon. |
/L |
Définit la taille maximale du tampon d'édition de ligne. La valeur par défaut est 128 (caractères). |
/M |
Affiche une liste de toutes les macros DOSKEY actuellement présentes dans le tampon. Cette liste peut être redirigée vers un fichier texte à l'aide de la redirection DOS standard (>) |
/R |
Installe une nouvelle instance de DOSKEY. Si DOSKEY est déjà en cours d'exécution, le tampon est vidé des macros et de l'historique de la ligne de commande. Notez que l'installation d'une nouvelle instance de DOSKEY ne supprime pas l'instance précédente. Ainsi, chaque utilisation de /R prend 5 Ko supplémentaires de mémoire conventionnelle/supérieure. |
Nom de la macro |
Le nom de la macro. Il s'agit d'une chaîne d'un ou plusieurs caractères éventuellement modifiés par les touches Ctrl et/ou Alt. |
Texte |
La chaîne de texte à affecter à Macroname . Il s'agit généralement d'une ou plusieurs commandes DOS accompagnées des paramètres et/ou commutateurs appropriés. |
Pour créer une macro DOSKEY :
DOSKEY Macroname=Text
Pour exécuter une macro :
Nom de la macro
Commandes DOSKEY |
Ce qu'il fait |
Curseur gauche/droite |
Déplace le curseur vers l'arrière/l'avant d'un caractère. |
Ctrl + curseur gauche/droite |
Déplace le curseur vers l'arrière/l'avant d'un mot. |
Accueil/Fin |
Déplace le curseur au début/à la fin de la ligne. |
Curseur haut/bas |
Pour faire défiler vers le haut (et vers l'arrière) la liste des commandes enregistrées. Chaque pression sur la touche « haut » rappelle la commande précédente et l'affiche sur la ligne de commande. |
Page précédente/suivante |
Rappelle la commande la plus ancienne/la plus récente dans la mémoire tampon |
F1 |
Copie le caractère suivant du modèle vers la ligne de commande |
Touche F2 + |
Copie le texte du modèle jusqu'à (mais sans inclure) la clé . |
F3 |
Copie le modèle de la position actuelle du caractère vers la ligne de commande. |
Touche F4 + |
Supprime les caractères de la position de caractère actuelle jusqu'à (mais sans inclure) la touche . |
F5 |
Copie la commande actuelle dans le modèle et efface la ligne de commande. |
F6 |
Place un caractère de fin de fichier (^Z) à la position actuelle de la ligne de commande. |
F7 |
Affiche une liste numérotée de l'historique des commandes. |
Alt-F7 |
Supprime toutes les commandes stockées dans le tampon. |
Caractères + F8 |
La saisie d'un ou plusieurs caractères Chars suivis de F8 affichera la commande la plus récente commençant par Chars . Une nouvelle pression sur F8 affichera la commande la plus récente commençant par Chars , et ainsi de suite. |
F9 + Commande# |
Affiche la commande désignée sur la ligne de commande. |
Alt-F10 |
Supprime toutes les définitions de macro. |
Pour supprimer une macro :
Nom de macro DOSKEY=
Caractères spéciaux de DOSKEY
Les caractères spéciaux suivants peuvent être utilisés dans les macros pour contrôler les opérations de commande :
Personnages |
Qu'est-ce que ça fait |
$G |
Redirections de sortie – équivalent au symbole de redirection > |
$G$G |
Ajoute la sortie à la fin d'un fichier - équivalent au symbole d'ajout >> |
$L |
Redirige l'entrée - équivalent au symbole < |
$B |
Envoie la sortie de la macro à une commande - équivalent au symbole du tuyau | |
$T |
Sépare les commandes lors de la création de macros ou de la saisie de commandes sur la ligne de commande DOSKEY |
$$ |
Utiliser pour le signe $ |
1 à 9 |
Représente tous les paramètres de ligne de commande qui peuvent être spécifiés lors de l'exécution de la macro. Comparable aux caractères %1 à %9 dans les programmes par lots |
$* |
Représente les informations de ligne de commande qui peuvent être spécifiées lors de l'écriture de macroname. $* est similaire aux paramètres remplaçables $n, sauf que tout ce qui est tapé sur la ligne de commande après macroname est substitué au $* dans la macro. |
TOI
Affiche la liste des fichiers et des sous-répertoires dans un répertoire.
Syntaxe:
DIR [lecteur :] [chemin] [nom de fichier] [/Switches]
Changer |
Qu'est-ce que ça fait |
aucun |
Par défaut, DIR affiche :
- un en-tête comprenant le nom du volume et le numéro de série du disque ;
- une liste de tous les fichiers et sous-répertoires du répertoire courant dans l'ordre dans lequel ils sont répertoriés dans la FAT, à l'exception de ceux marqués « caché » et/ou « système ». Chaque fichier/répertoire contient sa taille, la date/heure de la dernière modification et le nom complet du fichier ;
- un pied de page comprenant le nombre total de fichiers répertoriés, leur taille cumulée et l'espace libre (en octets) restant sur le disque.
|
/A [attributs] |
Affiche les fichiers avec et sans attributs spécifiés. Plusieurs attributs peuvent être spécifiés sans espace entre eux.
attributs (l'utilisation du « - » comme préfixe indique « non »)
D Répertoires
R Fichiers en lecture seule
H Fichiers cachés
A Fichiers modifiés depuis la dernière sauvegarde
S Fichiers système |
/O
[ordre de tri] |
Liste des fichiers dans l'ordre de tri.
Si l'ordre de tri n'est pas spécifié, les répertoires sont classés par ordre alphabétique, suivis des fichiers, également classés par ordre alphabétique. Toute combinaison de clés d'ordre de tri peut être spécifiée et les fichiers seront triés dans l'ordre des clés.
sortorder (L'utilisation de " - " comme préfixe inverse l'ordre)
N Par nom (alphabétique)
S Par taille (la plus petite en premier)
E Par extension (alphabétique)
D Par date et heure (la plus ancienne en premier)
G Grouper les répertoires en premier
A Par date du dernier accès (la plus ancienne en premier) |
/S |
Affiche les fichiers dans le répertoire spécifié et tous ses sous-répertoires |
/DANS |
Format de liste large. Les noms de fichiers et de répertoires sont répertoriés dans 5 colonnes |
/B |
Format nu. Les fichiers et les répertoires sont répertoriés dans une seule colonne sans en-tête, résumé ou aucun détail. |
/L |
La sortie est en minuscules. |
/P |
Pause à chaque écran, pleine d'informations. Appuyez sur n'importe quelle touche pour voir l'écran suivant. |
/V |
Passe en mode Verbose. Cela affiche les attributs, la date du dernier accès et l'espace disque alloué pour chaque fichier, en plus des informations standard. |
/AVEC |
Les noms de fichiers longs ne sont pas affichés dans la liste des fichiers. |
/4 |
Affiche la date sous forme de quatre chiffres plutôt que de deux. |
La commande DIR n'accepte qu'un seul chemin comme paramètre. Les noms de fichiers et de répertoires longs qui incluent un espace doivent être placés entre guillemets. Vous pouvez également utiliser des caractères génériques tels que * et ? pour afficher une liste d'un sous-ensemble de fichiers et de sous-répertoires.
DIR peut être utilisé avec les raccourcis point standard (.) pour afficher les répertoires de niveau supérieur. Si plus de points sont utilisés que nécessaire pour afficher le répertoire racine, les répertoires et les fichiers.
Lorsque vous utilisez la redirection pour envoyer la sortie de la commande DIR vers un fichier ou une autre commande, il est souvent utile d'utiliser /A:-D pour lister uniquement les fichiers et /B pour éviter les informations superflues telles que la taille des fichiers, les en-têtes et les informations récapitulatives. De plus, lorsque la sortie d'une commande DIR est redirigée via un canal, un fichier temporaire est créé et est automatiquement supprimé une fois l'opération terminée.
Par défaut, ce fichier temporaire est situé dans le répertoire spécifié par la variable d'environnement « TEMP » mais, si celui-ci n'est pas spécifié ou est introuvable, il sera créé dans le répertoire courant du lecteur courant. Si la commande DIR fait également référence au répertoire courant, tous les fichiers temporaires de ce type seront récupérés et inclus dans la liste.
Copie de disque
DISKCOPY est utilisé pour dupliquer des disquettes. Toutes les données présentes sur le disque de destination sont écrasées.
Syntaxe:
DISKCOPY lecteur1 : [lecteur2 :] [/1] [/V] [/M]
lecteur1 Lecteur contenant le disque à copier depuis et vers, si l'ordinateur ne possède qu'un seul lecteur de disquette.
drive2 Lecteur contenant le disque à copier s'il est différent de drive1.
/1 Copie uniquement la première face du disque.
/V Vérifie que les informations sont copiées correctement.
/M Force la copie multi-passe en utilisant uniquement la mémoire.
DISKCOPY est conçu pour dupliquer des disquettes standard en effectuant une copie octet par octet du disque source sur le disque de destination. DISKCOPY ne fonctionne pas avec les disques durs, les CD, les lecteurs réseau ou les lecteurs de type Zip, Jazz, etc. Il faut également garder à l'esprit que les disques source et de destination doivent être du même type, de la même taille et de la même capacité. Si ce n'est pas le cas, un message d'erreur s'affiche :
MODIFIER
Il s'agit d'un simple éditeur de texte ASCII DOS plein écran.
Syntaxe
MODIFIER [/B] [/H] [/R] [/S] [/nnn] [nom(s) de fichier(s)]
/B Force le mode monochrome.
/H Affiche le nombre maximal de lignes possibles pour votre matériel.
/R Charger le(s) fichier(s) en mode lecture seule.
/S Force l'utilisation de noms de fichiers courts.
nnn Chargez le(s) fichier(s) binaire(s), en enveloppant les lignes dans nnn caractères de large.
nom(s) de fichier Spécifie le(s) fichier(s) initial(aux) à charger. Des caractères génériques peuvent également être utilisés.
Pour voir la liste des raccourcis clavier, vous pouvez consulter le menu « Aide » de l'éditeur.
SORTIE
Dans le cas d'un environnement DOS ou Windows, la commande EXIT est utilisée pour quitter le shell DOS, sinon, en général, elle quitte l'interpréteur de commandes MS-DOS (COMMAND.COM) et revient au programme qui a démarré l'interpréteur de commandes, s'il existe.
Syntaxe
SORTIE
FC
Compare deux fichiers ou ensembles de fichiers et affiche les différences entre eux.
Syntaxe:
FC [/Commutateurs] fichier1 fichier2
Changer |
Ce qu'il fait |
/B |
Effectue une comparaison binaire.
Les deux fichiers sont comparés octet par octet et aucune tentative de resynchronisation des fichiers n'est effectuée après la détection d'une non-concordance. Il s'agit du mode par défaut pour comparer les fichiers lorsque file1 a une extension .EXE, .COM, .SYS, .OBJ, .LIB et .BIN ou similaire. |
/L |
Compare les fichiers au format ASCII.
Les deux fichiers sont comparés ligne par ligne et FC tente de resynchroniser les fichiers après avoir détecté une incompatibilité. Il s'agit du mode par défaut pour comparer les fichiers lorsque le fichier1 n'a pas d'extension .EXE, .COM, .SYS, .OBJ, .LIB et .BIN ou similaire. |
/LBn |
Définit le nombre de lignes pour le tampon de lignes interne.
Si les fichiers comparés comportent plus de ce nombre de lignes consécutives différentes, FC annule la comparaison. La valeur par défaut de n est 100 |
/nn |
Nombre de lignes consécutives devant correspondre avant que les fichiers ne soient déclarés resynchronisés. Si le nombre de lignes correspondantes dans les fichiers est inférieur à ce nombre, les lignes correspondantes sont affichées comme différences. Valeur par défaut de nn : 2. |
/N |
Affiche les numéros de ligne sur une comparaison ASCII. |
/UN |
Abrège la sortie d'une comparaison ASCII. Seules la première et la dernière ligne de chaque ensemble de différences sont affichées, contrairement à la valeur par défaut qui correspond à chaque ligne différente. |
/C |
Ne tient pas compte de la casse des lettres. |
/T |
Ne transforme pas les tabulations en espaces.
Par défaut, les tabulations sont traitées comme des espaces, avec 1 tabulation = 8 espaces. |
/DANS |
Compresse les tabulations et plusieurs espaces en un seul espace pour la comparaison. |
Si le fichier1 contient un caractère générique, tous les fichiers concernés sont comparés au fichier2. Si le fichier2 contient également un caractère générique, il est comparé au fichier1 correspondant. Dans la plupart des cas, les fichiers binaires sont comparés pour voir s'ils sont identiques ou non. Pour voir simplement si deux fichiers binaires sont identiques, il est souvent plus rapide de les comparer en tant que fichiers ASCII à l'aide du commutateur /LB1 pour réduire la sortie au minimum.
Voyons un exemple des différences significatives dans les temps de traitement. En essayant les exemples suivants, vous serez en mesure de comprendre comment utiliser FC de manière rapide et efficace :
FC c:\windows\command\xcopy.exe c:\windows\command\attrib.exe
FC c:\windows\command\xcopy.exe c:\windows\command\attrib.exe /L
FC c:\windows\command\xcopy.exe c:\windows\command\attrib.exe /L /LB1
Disque Fdisque
FDISK est un utilitaire piloté par menu utilisé pour configurer et/ou afficher des informations sur les partitions d'un disque dur. Vous devez savoir ce que vous faites dans l'environnement FDISK et vous devez vous assurer de le faire, sinon il peut supprimer ou modifier les informations de vos partitions et vous risquez de subir la perte de partitions, c'est-à-dire de données.
Avant qu'un disque dur puisse être reconnu par DOS, un Master Boot Record (MBR) doit être établi. FDISK est l'utilitaire MS-DOS utilisé pour créer un MBR en définissant la taille et la nature des partitions d'un disque dur. Le MBR définit les zones du disque qui doivent être :
- Une partition principale et/ou
- Une partition étendue
Une partition étendue doit être désignée comme contenant un ou plusieurs lecteurs DOS logiques. Si vous supprimez des partitions, vous détruirez tout ce qu'elles contiennent ou, au moins, vous rendrez très difficile la récupération des données. Nous en apprendrons davantage sur Fdisk dans la section Programmation de récupération de ce livre.
TROUVER
La commande FIND permet de rechercher une chaîne de texte dans un ou plusieurs fichiers. Après avoir recherché les fichiers spécifiés, FIND affiche toutes les lignes de texte contenant la chaîne.
Syntaxe:
RECHERCHER [/V] [/C] [/N] [/I] "chaîne" "nomfichier1" "nomfichier2" "nomfichier ..."
Changer |
Ce qu'il fait |
/V |
Affiche toutes les lignes ne contenant PAS la chaîne spécifiée. |
/C |
Affiche uniquement le nombre de lignes contenant la chaîne. Si utilisé avec /V , FIND affiche le nombre de lignes qui ne contiennent pas la chaîne spécifiée. |
/N |
Affiche les numéros de ligne avec les lignes. Si /C et /N sont utilisés ensemble, /N est ignoré. |
/JE |
Ignore la casse des caractères dans la chaîne . Par défaut, FIND est sensible à la casse et recherche une correspondance exacte des caractères. |
chaîne |
La chaîne de texte à trouver. La chaîne doit être entre guillemets. |
nom de fichier |
Le(s) fichier(s) à rechercher. Si le nom de fichier ne contient pas d'espaces, il n'est pas nécessaire de le placer entre guillemets. |
Si le nom de fichier n'est pas spécifié, FIND recherche le texte saisi à partir de la source standard qui est généralement le clavier, un tube ou un fichier redirigé. Les caractères génériques ne sont pas acceptés dans le nom de fichier. De plus, comme les guillemets sont utilisés pour délimiter les chaînes, ils ne peuvent pas être utilisés dans la chaîne dans le cadre du modèle de recherche.
Pour inclure des guillemets dans une chaîne, il est nécessaire d'utiliser le « caractère spécial » des guillemets doubles (« ») que FIND interprète comme des guillemets dans la chaîne de recherche. Voyons quelques exemples :
Pour afficher toutes les lignes du fichier « NOTES.TXT » contenant la chaîne « homework » :
TROUVER les notes de « devoirs ».txt
Si la chaîne contient des guillemets, ceux-ci doivent être doublés :
RECHERCHER "Le résultat de ""BE Final year"" n'a pas été affiché." Result.doc
FORMAT
Formate un disque pour l'utiliser avec MS-DOS. N'oubliez jamais que les données stockées sur le disque seront effacées après le formatage. Soyez prudent et assurez-vous avant d'utiliser la commande format et n'oubliez jamais de vérifier la lettre de lecteur que vous entrez dans la commande FORMAT.
Syntaxe:
FORMAT lecteur : [/Switches]
Changer |
Ce qu'il fait |
/V[:étiquette] |
Spécifie un nom de volume. Si le commutateur /V est omis ou si aucun nom de volume n'est spécifié, une invite de saisie d'un nom de volume s'affiche une fois le formatage terminé. Si aucun nom de volume n'est requis, l'invite peut être évitée en spécifiant : /V:""
Si un nom de volume est spécifié et que plusieurs disques sont formatés dans une session, tous les disques recevront le même nom de volume. |
/Q |
Force le formatage rapide d'un disque précédemment formaté. La table d'allocation de fichiers (FAT) et le répertoire racine du disque sont supprimés, mais ils ne sont pas analysés pour détecter les zones défectueuses. |
/S |
Copie les fichiers système sur le disque formaté pour en faire un disque de démarrage. |
/B |
Alloue de l'espace sur le disque formaté pour les fichiers système. |
/F:taille |
Formate un disque à une capacité autre que celle pour laquelle le lecteur a été conçu. La taille peut être : 360, 720, 1,2, 1,44 et 2,88. |
/T:pistes |
Spécifie le nombre de pistes par côté du disque. |
/N:secteurs |
Spécifie le nombre de secteurs par piste. |
/1 |
Formate une seule face d'une disquette. |
/4 |
Formate une disquette 5,25 pouces 360K dans un lecteur haute densité. |
/8 |
Formate huit secteurs par piste |
/C |
Teste les clusters actuellement marqués comme « mauvais ». Par défaut, si un disque contient des clusters marqués comme « mauvais », FORMAT ne reteste pas les clusters ; il les laisse simplement marqués comme « mauvais ». |
Par défaut, et à moins que le commutateur /Q ne soit utilisé, chaque secteur du disque est vérifié pendant le processus de formatage pour garantir que le secteur peut stocker correctement les données.
Si un secteur défectueux est détecté, il est marqué et n'est pas utilisé. Une fois le formatage terminé, un message s'affiche indiquant l'espace disque total, l'espace marqué comme défectueux, l'espace utilisé et l'espace disponible pour les fichiers. FORMAT ne peut pas être utilisé sur un lecteur virtuel créé à l'aide de la commande SUBST.
Un moyen rapide de reformater une disquette est :
ren /? | format /q/v:"" > nul
La partie ren /? alimente, avec une charge de matériel redondant, un « enter », suivi d'un « n, enter » en réponse aux invites de FORMAT. Le >nul empêche l'affichage de la sortie quelque peu confuse et mélangée des deux commandes.
ÉTIQUETTE
La commande LABEL permet de créer, modifier ou supprimer le nom de volume d'un disque. Le nom de volume d'un disque s'affiche dans la liste des répertoires avec le numéro de série du volume, s'il existe.
Syntaxe:
LABEL [lecteur :] [étiquette]
Lecteur : l'emplacement du disque à nommer.
Étiquette La nouvelle étiquette du volume.
Aucun Affiche l'étiquette actuelle du disque, si elle existe. Invite à saisir une nouvelle étiquette ou à supprimer l'étiquette existante
MD (ou MKDIR)
Crée un répertoire. MD et MKDIR sont synonymes et effectuent les mêmes tâches.
Syntaxe:
MD [chemin] nom du répertoire
PLUS
La commande MORE lit l'entrée standard d'un tube ou d'un fichier redirigé et affiche un écran d'informations à la fois. Cette commande est généralement utilisée pour afficher des fichiers longs, la sortie d'un répertoire, etc.
Syntaxe:
PLUS [chemin] nom de fichier
PLUS < [chemin] nom de fichier
commande | PLUS [chemin] [nom de fichier]
commande une commande dont la sortie doit être affichée.
Nom du fichier(s) à afficher un écran à la fois
MORE filename et MORE < filename sont synonymes et équivalents à TYPE filename | MORE. Dans tous ces cas, filename s'affiche écran par écran. Appuyer sur "Entrée" affiche l'écran suivant. L'affichage peut être interrompu à tout moment en appuyant sur Ctrl-C. MORE ajuste automatiquement le texte à la taille de l'écran.
Prenons l'exemple d'un gros fichier texte nommé BIGFILE.TXT. Les trois commandes suivantes effectueront désormais la même tâche :
TYPE bigfile.txt | PLUS
PLUS de bigfile.txt
PLUS < bigfile.txt
SE DÉPLACER
Déplace des fichiers et des répertoires d'un emplacement à un autre sur le même lecteur ou sur des lecteurs différents.
Syntaxe:
DÉPLACER [/Y | /-Y] [chemin] nom de fichier destination
/Y Supprime l'invite de confirmation de la création d'un répertoire ou de l'écrasement de la destination. Il s'agit de la valeur par défaut lorsque MOVE est utilisé dans un fichier batch.
/-Y Force une invite pour confirmer la création d'un répertoire ou l'écrasement de la destination. Il s'agit de la valeur par défaut lorsque MOVE est utilisé à partir de la ligne de commande.
Si plusieurs fichiers doivent être déplacés, le chemin de destination doit être un répertoire et les fichiers conserveront leurs noms d'origine.
RD (ou RMDIR)
Supprime (efface) un répertoire vide. RD et RMDIR sont synonymes et effectuent les mêmes tâches.
Syntaxe:
RD [chemin] nom du répertoire
Si le premier nom de répertoire dans path est précédé d'une barre oblique inverse ( \ ), ce répertoire est considéré comme un sous-répertoire du répertoire racine du lecteur actuel. S'il n'y a pas de barre oblique inverse avant le premier nom de répertoire dans path, le répertoire est considéré comme un sous-répertoire du répertoire actuel.
De plus, RD ne supprimera qu'un répertoire vide. Si RD est utilisé sur un répertoire contenant des fichiers et/ou des sous-répertoires, un message d'erreur s'affiche sur l'ordinateur.
SCANDISQUE
Exécute le programme de réparation de disque SCANDISK.
Syntaxe
Pour vérifier et réparer le lecteur actuel :
SCANDISQUE
Vous ne devez pas analyser le disque avec CHKDSK ou SCANDISK ou tout autre programme d'analyse de disque si votre disque est en panne ou s'il y a une erreur logique dans vos secteurs de démarrage comme MBR, DBR, FAT ou si les répertoires racines sont corrompus. Cela peut déformer vos informations de données et rendre leur récupération difficile. De plus, vous risquez de ne pas récupérer complètement les données. |
En règle générale, la version DOS de Scandisk ne s'exécute pas lorsque Windows est en cours d'exécution. Plutôt que de signaler une erreur, elle transfère automatiquement le contrôle à la version Windows de Scandisk
TAPER
La commande TYPE est utilisée pour afficher le contenu d'un fichier texte ASCII à l'écran.
Syntaxe:
TYPE nom de fichier
Pour afficher les fichiers texte un écran à la fois, dirigez la sortie d'une commande TYPE vers MORE. Voyons quelques exemples :
Pour afficher le contenu de ROMI.TXT :
TYPE romi.txt
Si le fichier est trop long pour tenir sur un seul écran :
TYPE romi.txt | PLUS
XCOPIE
Cette commande est l'une des commandes les plus importantes lorsque vous souhaitez effectuer la sauvegarde de vos données importantes ou même lorsque vous souhaitez créer l'image de l'intégralité du lecteur pour copier des fichiers et des arborescences de répertoires.
XCOPY est similaire à la commande COPY, sauf qu'il dispose de beaucoup plus de commutateurs qui permettent un contrôle considérable sur ce qui est exactement copié lors de l'utilisation de caractères génériques.
Syntaxe:
Source XCOPY [destination] [/Commutateurs]
source Les fichiers et répertoires à copier. Des caractères génériques (* ou ?) peuvent être utilisés.
destination Le chemin et/ou le(s) nom(s) des nouveaux fichiers. Si destination est omis, les fichiers sont copiés dans le répertoire courant. Si destination fait référence à un répertoire qui n'existe pas, le répertoire est créé. Par défaut, XCOPY limitera son fonctionnement aux fichiers du répertoire source.
Changer |
Ce qu'il fait |
/ET |
Copie la structure complète du sous-répertoire de la source et tous les fichiers qu'elle contient. |
/S |
Copie la structure complète du sous-répertoire de la source et tous les fichiers qu'elle contient, mais ne copie pas les sous-répertoires vides. |
/T |
Copie la structure des sous-répertoires de la source mais ne copie aucun fichier et ne copie pas les sous-répertoires vides. Pour inclure des sous-répertoires vides, utilisez le commutateur /E . |
/UN |
Copie uniquement les fichiers avec l'attribut d'archive défini. |
/M |
Copie uniquement les fichiers avec l'attribut d'archive défini, en désactivant l'attribut d'archive des fichiers sources. |
/H |
Inclut les fichiers avec des attributs cachés et système définis. |
/K |
Copie les fichiers sans réinitialiser l'attribut de lecture seule, s'il est défini. |
/R |
Écrase les fichiers en lecture seule. |
/DANS |
Copie uniquement les fichiers de la source qui existent déjà dans la destination . Peut être utilisé avec /D pour mettre à jour les fichiers avec des versions plus récentes. |
/D:date |
Copie uniquement les fichiers dont la « date de dernière modification » est identique ou postérieure à date . Si date n'est pas spécifiée, tous les fichiers sont copiés à l'exception des fichiers du même nom dans le répertoire de destination qui ont une « date de dernière modification » plus récente que celle de source . |
/JE |
Force la destination à être traitée comme un répertoire. L'invite de fichier/répertoire est supprimée. |
/ET |
Écrase les fichiers existants sans invite. |
/-ET |
Messages avant d'écraser les fichiers existants. |
/DANS |
Affiche une invite avant de commencer à copier les fichiers. |
/P |
Demande de confirmation avant de créer chaque fichier de destination. |
/F |
Affiche les noms complets des fichiers source et de destination lors de la copie. |
/Q |
N'affiche pas les noms de fichiers ni aucun autre message lors de la copie. |
/C |
Continue la copie même si des erreurs se produisent. |
/L |
Affiche les fichiers à copier mais ne les copie pas réellement. |
/N |
Copiez en utilisant les noms courts générés. Ceci est nécessaire lors de la copie d'un volume VFAT vers un volume FAT. |
/V |
Vérifie que les nouveaux fichiers sont lisibles. |
Par défaut, XCOPY ne copie pas les fichiers qui ont des attributs système ou cachés définis. De plus, les copies de fichiers en lecture seule n'ont pas l'attribut lecture seule défini et tous les fichiers copiés ont leur attribut archive défini. Par défaut, XCOPY demande une invite avant d'écraser les fichiers de destination avec des fichiers de la source portant le même nom.
XCOPY demande également des instructions en cas d'ambiguïté quant à savoir si la destination est un répertoire ou un fichier. Une ambiguïté est observée lorsque la destination ne fait pas référence à un répertoire existant ou se termine par un « \ ». Par exemple, une destination de nom.ext peut être soit un fichier, soit un répertoire. Apprenons-le mieux à l'aide des exemples suivants.
Pour copier tous les fichiers et sous-répertoires du répertoire notes sur le disque du lecteur A :
xcopy c:\notes a: /s
ou
xcopy c:\notes\*.* a: /s
Pour copier tous les fichiers et sous-répertoires du répertoire notes créés ou modifiés depuis le 9 décembre 2002 sur le disque du lecteur A :
xcopy c:\notes a: /s /d:12/09/02
Créer l’image de marque
Si vous souhaitez effectuer une sauvegarde de l'intégralité de votre disque dur sur un autre ou si vous souhaitez créer une image de vos données de disque « y compris le système d'exploitation et les autres logiciels installés » sur un autre disque dur, essayez simplement ceci :
C:\> Xcopy * D: \I\E\C\H
Ici, D: est censé être la partition active d'un autre disque dur. Cela copiera toutes les données du lecteur source (y compris le système d'exploitation installé, les logiciels, les documents, etc.) sous forme d'image sur le lecteur de destination .
Et après cela, si vous démarrez votre ordinateur avec le lecteur de destination , il fonctionnera de la même manière que le lecteur source et il affichera toutes les données que vous aviez sur le lecteur source .
Raccourcis de spécification, caractères génériques et redirection
Raccourcis
Un certain nombre de commandes DOS reconnaissent certains raccourcis lors de la navigation entre les répertoires. Les plus connus d'entre eux sont :
Raccourci |
Pourquoi l'utiliser |
. |
pour faire référence au répertoire courant |
.. |
pour faire référence au répertoire parent |
\ |
pour faire référence au répertoire racine du lecteur actuel. |
conduire : |
pour faire référence au répertoire actuel sur le lecteur |
Essayons de comprendre cela à l'aide d'exemples. Si le répertoire courant sur le lecteur c: est c:\windows\java\notes, alors dir c: à l'invite a:\> listera les fichiers dans c:\windows\java\notes
- Si le lecteur et le répertoire actuels sont c:\data\docs\letters, alors :
- Si le lecteur et le répertoire actuels sont c:\ , alors :
Caractères génériques
De nombreuses commandes DOS telles que ATTRIB, COPY, DEL, DELTREE, etc. acceptent l'utilisation des « caractères génériques » (* et ?). En général, * fait référence à plusieurs caractères et ? fait référence à un caractère unique dans un nom de fichier ou de répertoire.
C'est la raison pour laquelle nous ne pouvons pas utiliser ces caractères dans le nom d'un fichier. Ces caractères spéciaux sont / \ : * ? < > “ | qui ne doivent pas être insérés dans un nom de fichier. Le tableau suivant montre l'utilisation des caractères génériques :
Caractère générique |
Ce qu'il fait |
*.* |
Tous les fichiers avec toutes les extensions. |
*données*.* |
Tous les fichiers contenant « données » n’importe où dans leur nom. |
*tableau.* |
Tous les fichiers dont le nom se termine par « array » |
remarque?.cpp |
Tous les fichiers nommés « note » plus un caractère et avec l'extension .CPP. Ce fichier peut être note1.cpp, mais pas note.cpp. |
?t*.* |
Tous les fichiers avec un « t » comme deuxième lettre dans leur nom |
Il convient de noter que toutes les commandes ne gèrent pas les caractères génériques exactement de la même manière. Par exemple, DIR * et DIR *.* sont considérés comme synonymes, mais DEL * supprimera uniquement les fichiers sans extension.
Un espace entouré de guillemets (" ") est accepté comme spécification de fichier valide par EDIT et DEL, mais de manières assez différentes.
EDIT ouvrira un fichier en utilisant le nom du répertoire courant. Ainsi, si le répertoire courant est D:\windows\java\notes, EDIT " " créera un fichier dans ce répertoire appelé "notes".
DEL reconnaît " " comme *.* et demandera confirmation avant de supprimer tous les fichiers du répertoire. Comme avec EDIT, le nombre d'espaces entre les guillemets ne semble pas significatif mais s'il n'y a pas d'espaces, un message d'erreur s'affiche indiquant qu'un paramètre obligatoire est manquant.
Contrairement à EDIT, un chemin peut être inclus et, si c'est le cas, aucun espace entre les guillemets n'est requis. c'est-à-dire pour supprimer tous les fichiers du répertoire courant :
DEL ./"" fonctionne, mais DEL "" donne un message d'erreur.
COPY voit également " " comme *.* et, comme DEL, accepte un chemin avec lui. Contrairement à DEL, il doit toujours y avoir un espace entre les guillemets, même lorsqu'un chemin est inclus
Redirection
Un certain nombre de commandes DOS envoient une sortie à l'écran et/ou nécessitent une saisie de la part de l'utilisateur. La redirection est un mécanisme par lequel la sortie d'une commande peut être envoyée soit à un autre périphérique, par exemple une imprimante ou un fichier, soit à un autre programme ou à une autre commande.
Il existe quatre fonctions de redirection :
> |
Redirection de sortie |
>> |
Ajouter |
< |
Redirection d'entrée |
| |
Tuyau |
>
Redirige la sortie d'une commande du « périphérique de sortie standard » (généralement le moniteur) vers un autre périphérique (par exemple une imprimante) ou un fichier.
Syntaxe:
Pour rediriger la sortie vers un périphérique :
Commande > Appareil
Pour rediriger la sortie vers un fichier :
Commande > Nom de fichier
Les noms de périphériques acceptables sont CON (moniteur), PRN (LPT1 - supposé être l'imprimante), LPT1 - 3 (ports parallèles - généralement connectés à une imprimante), COM 1 - 4 (ports série) et NUL (un vide électronique).
Si un autre nom que le nom d'un périphérique reconnu est spécifié, il est supposé être le nom d'un fichier. Si un fichier existe déjà avec le nom de fichier spécifié, il est écrasé sans aucun avertissement. Voyons quelques exemples pour mieux comprendre.
L'utilisation la plus courante de cette fonction de redirection consiste probablement à envoyer des listes de répertoires à l'imprimante ou à les enregistrer sous forme de fichier. Pour imprimer une liste triée de tous les fichiers du répertoire Windows :
Répertoire c:\windows /o/a > PRN
Pour créer un fichier contenant la liste des répertoires du même répertoire :
Répertoire c:\windows/o/a > d:\windows.txt
>>
Ajoute la sortie d'une commande au fichier spécifié.
Syntaxe:
Commande >> Nom de fichier
Si le nom de fichier n'existe pas, il est créé. Si le nom de fichier existe, la sortie de la commande lui est ajoutée, contrairement à la fonction > où le contenu d'origine est écrasé. Voyons comment cela se passe avec un exemple.
Pour ajouter la liste des répertoires des fichiers du répertoire c:\windows\system à celui créé auparavant :
Répertoire c:\windows\system /o/a >> d:\windows.txt
<
Dirige l'entrée vers une commande à partir d'une source autre que la source par défaut. La source par défaut est généralement le clavier.
Syntaxe:
Commande < Source de données
Il est généralement utilisé dans la programmation par lots. Voyons comment cela se passe avec un exemple. La procédure suivante de la commande DEBUG est utilisée pour effectuer la sauvegarde du MBR où MBR.BIN est le nom du fichier de sauvegarde créé après cette exécution.
déboguer mbr.bin
UN
MOV DX, 6000
MOV EST, DX
XOR BX, BX
MOV DX, 0080
MOV CX, 0001
MOV AXE, 0201
INT 13
INT 20
<Entrée>(ne tapez rien)
G
R CX
200
En 6000:0000
Q
Pour ce faire, à l'aide d'un fichier batch, nous créons deux fichiers batch, l'un contenant l'instruction d'exécuter la commande DEBUG et l'autre pour stocker d'autres instructions qui seront passées à la commande DEBUG en entrée. Ce fichier sera la source de données pour le premier fichier. Voyons comment :
C:\ mbr.bat
Voyons maintenant ce que contient ce MBR.BAT.
MBR.BAT |
DÉBOGAGE mbr.bin < ttsource.bat |
Et évidemment, le deuxième fichier nommé TTSOURCE.BAT servira de source de données pour cela et contiendra les instructions suivantes :
TTSOURCE.BAT |
UN |
MOV DX, 6000 |
MOV EST, DX |
XOR BX, BX |
MOV DX, 0080 |
MOV CX, 0001 |
HACHE DE MOUVEMENT, 0201 |
INT 13 |
INT 20 |
<enter> (Ne rien saisir) |
G |
R SH |
200 |
À 6000:0000 |
DANS |
|
Un tuyau redirige la sortie d'un programme ou d'une commande vers un deuxième programme ou une deuxième commande.
Syntaxe:
Équipe 1 | Équipe 2
Regardons un exemple de saisie d’un long fichier texte :
tapez file.txt |plus