Chapitre – 7
Commandes DOS nécessaires
Introduction
Pendant que nous essayons de récupérer les données du disque, cela dépend du cas de perte de données, de l'effort nécessaire pour récupérer la perte. Dans de nombreux cas, il est possible que si nous avons une connaissance suffisante de certaines commandes importantes du DOS (système d'exploitation de disque), nous puissions récupérer les données avec moins d'efforts.
Dans certains cas, il est possible que nous puissions récupérer des données sans programmation uniquement en utilisant ces commandes avec un esprit rusé.
Je suppose que vous ne savez rien de DOS et de ses commandes. Dans ce chapitre d'introduction aux commandes DOS, nous n'apprendrons que les commandes qui peuvent nous aider à récupérer nos données. Tout d'abord, nous donnerons un aperçu de 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 programme à un système d'exploitation sophistiqué 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 se composait de 4 000 lignes de code source en langage assembleur et occupait 8 Ko de mémoire.
Peu de temps après, en 1982, la version 1.1 de MS-DOS est sortie et fonctionnait avec des disquettes double face de 320 Ko. Les versions de DOS commercialisées par IBM sont appelées IBM-DOS ou PC-DOS.
MS-DOS version 2.0
Lorsqu'IBM a commencé le développement d'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, conformément à son héritage, avait été conçu pour un environnement de disquette. L'une des principales limitations de DOS 1.0 est que son répertoire est limité à un maximum de 64 fichiers.
MS-DOS version 2.0 a été conçu pour inclure un système de fichiers hiérarchisé. Un système de fichiers hiérarchique est important dans la mesure où tout 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 était utilisé comme plate-forme de développement du système d'exploitation MS-DOS/IBM-DOS. En effet, certains des concepts sous-jacents de MS-DOS sont similaires à leurs homologues sous UNIX.
MS-DOS Version 3.0 à 5.0
La version 3.0 est sortie en août 1984 pour prendre en charge IBM PC/AT. La version 3.1 est sortie en novembre 1984 et contenait un support réseau. La version 3.2 de janvier 1986 prenait en charge les disques de 3,5 pouces. En 1987, la version 3.3 d'IBM a suivi, dans le but principal de prendre en charge la gamme d'ordinateurs IBM PS/2.
La version 3.3 de MS-DOS a ajouté de nombreuses nouvelles fonctionnalités et commandes. Compaq version 3.31 de DOS autorisait les partitions de disque dur supérieures à 32 mégaoctets.
MS-DOS version 4.01 lit également les partitions supérieures à 32 mégaoctets. Initialement publié en tant que MS-DOS 4.0, certains bogues mineurs ont entraîné la publication de la version 4.01 mise à niveau avec divers correctifs. Cette version a ajouté des pleins écrans, 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é conçue pour remplacer toutes les versions précédentes de DOS. Avec DOS 5.0, IBM et Microsoft vendaient 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 paginée et étendue.
L'éditeur DOS "EDIT" a été inclus avec cette version de DOS. Le 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 au moins une partie du temps.
MS-DOS version 6.0
La version 6.0 incluait de nombreux nouveaux programmes pour améliorer les performances de DOS. Ils comprenaient :
- Microsoft Double Space, un programme de compression de disque intégré qui augmente l'espace disque disponible en compressant les fichiers
- Microsoft Mem Maker, un programme d'optimisation de la mémoire qui facilite le déplacement des pilotes de périphérique et des programmes résidant en mémoire de la mémoire conventionnelle vers la zone de mémoire supérieure
- Un pilote de périphérique EMM386.EXE amélioré qui permet d'accéder à 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 capable d'identifier et de supprimer différents virus informatiques
- Microsoft Undelete, un programme amélioré qui vous permet de choisir un ou trois niveaux de protection en cas de suppression accidentelle d'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 rétrocompatibilité avec les applications DOS et Windows 3.x. Voyons l'évolution de MS – DOS vers Windows dans le tableau suivant :
MS – DOS Version |
Notes and Comments |
MS- DOS 1.0 |
First operating system on IBM PC in 1981 |
MS- DOS 1.25 |
Double sided disk support and bug fixes added |
MS- DOS 2.0
|
Introduced with IBM PC/XT in 1983 and having the support of hierarchical file structure and hard disks added. |
MS- DOS 2.01 |
2.0 with international support |
MS- DOS 2.11 |
2.01 with bug fixes |
MS- DOS 2.25 |
Support for Extended Character sets |
MS- DOS 3.0 |
Support for 1.2MB floppy disks and larger hard disks added |
MS- DOS 3.1 |
Support for Microsoft networks added |
MS- DOS 3.2 |
Support for 3.5 inches disks added |
MS- DOS 3.3 |
Generalized code page (font) support |
MS- DOS 4.0 |
Support for logical volumes larger then 32 MB and Visual shell |
Windows 1.0 |
Graphical user interface for MS – DOS |
Windows 2.0 |
Compatibility with OS/2, Presentation Manager |
Windows 95 |
Used Version 4.00.950 |
Windows 95 Se |
Used Version 4.00.1111 |
Windows 98 |
Used Version 4.10.1998 |
Windows 98 Second Edition |
Used Version 4.10.2222 |
Windows Millennium |
Used Version 4.90.3000 |
Windows NT |
Used Version 4.0 |
Windows 2000 |
Used Version 5.00.2195 |
Windows XP |
Used Version 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 non de programmation :
ATTRIB
La commande ATTRIB est utilisée pour afficher, définir ou supprimer un ou plusieurs des quatre attributs, lecture seule, archive, système et masqué, qui peuvent être attribués aux fichiers et répertoires. Il est généralement utilisé pour supprimer les attributs en lecture seule, masqués 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'attributs de tous les fichiers du répertoire courant :
ATTRIB
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 |
Read-only file attribute. |
A |
Archive file attribute. |
S |
System file attribute |
H |
Hidden file attribute. |
/S |
Processes files in all directories in the specified path. |
L'attribut Lecture seule permet d'accéder à un fichier mais pas de le modifier. L'attribut System est normalement réservé aux fichiers nécessaires au chargement correct de DOS ou Windows. Les fichiers et répertoires avec l'attribut Masqué défini ne sont normalement pas affichés dans les listes de répertoires ou les boîtes de dialogue Ouvrir des fichiers.
La raison habituelle pour masquer les dossiers 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 masqués et système auront souvent également l'attribut Lecture seule défini.
Plusieurs attributs peuvent être définis ou effacés en combinant des commutateurs, séparés par des espaces. Bien que les fichiers et les répertoires puissent avoir des attributs attribués et effacés à l'aide d'ATTRIB, il existe des différences dans leur comportement - dont le plus évident 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 verrons 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 semble ne servir à rien.
Premièrement, l'attribut ne s'applique qu'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 avertissement s'affichera 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 Masqué de "data19.txt" :
ATTRIB -S -H data19.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 CHDIR)
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
Path Change le répertoire courant en path. Chaque lecteur possède son propre "répertoire actuel" qui reste "actuel" jusqu'à ce qu'il soit modifié, la modification du répertoire actuel du lecteur c: n'affectera donc pas l'état du répertoire actuel de tout autre lecteur. Pour passer au répertoire actuel sur un autre lecteur, entrez simplement la lettre du lecteur et les deux-points.
If the current drive is c:, to enter the directory "
c:\windows\java"
CD \windows\java
Si le répertoire courant est déjà "c:\windows", il suffit de :
Cédérom Java
Pour changer le répertoire courant "c:\windows\java" au répertoire parent "c:\windows" :
CD..
Supposons que vous êtes actuellement dans le directeur "c:\windows\java\notes\klip\", maintenant si vous voulez directement accéder au répertoire Windows, augmentez simplement les deux points supplémentaires (..) que nous avons faits dans le cas précédent, comme celui-ci
CD….
Si le répertoire actuel sur le lecteur c : est "c:\windows\notes" et le répertoire actuel sur le lecteur e: est "e:\movie", puis pour copier tous les fichiers de "e:\movie" vers "c\windows\notes":
COPIER e :*.* c :
Pour copier tous les fichiers de "e:\downloads" au répertoire racine de c:
COPIER e:*.* c:\
CHKDSK
CHKDSK est utilisé pour vérifier l'état d'un disque, corriger certaines erreurs de disque et afficher un rapport d'état indiquant toutes les erreurs trouvé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 un éventail 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 trouvées) ne doit pas être utilisé pendant l'exécution d'un programme autre que DOS et CHKDSK lui-même.
CHKDSK ne peut pas être utilisé sur les lecteurs créés à l'aide de SUBST, ni sur les lecteurs réseau. Dans win98, CHKDSK ne vérifie pas le disque, mais fournit toujours quelques 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 les répertoires racine sont corrompus. Cela peut déformer vos informations de données et rendre leur récupération difficile. Non seulement cela, vous ne pouvez pas récupérer complètement les données. |
CLS
Efface l'écran en ne laissant que l'invite de commande et le curseur.
Syntax:
CLS
COMMANDE
Démarre une nouvelle copie de l'interpréteur de commandes.
Syntaxe :
COMMANDE [chemin] [appareil] [/Commutateurs]
Chemin Drive et répertoire contenant command.com. Ceci doit être spécifié sauf si command.com se trouve dans le répertoire racine.
Périphérique Périphérique à utiliser pour l'entrée et la sortie des 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 défini entre 256 et 32 768 octets. La valeur par défaut est : 256 octets.
/L:y Longueur des tampons internes [octets]. y doit être défini 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 batch spécifié par /C ou /K
/C command Exécute la commande et quitte. Ce doit être le dernier commutateur sur la ligne de commande.
/K commande Exécute la commande et continue son exécution. Ce doit être le dernier commutateur sur la ligne de commande.
COPIER
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 taper directement dans un fichier, une imprimante ou un autre périphérique.
Syntaxe :
COPIER [/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 paramètre unique, 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
maintenant écrivez ou copiez le texte et sortez en entrant la touche Ctrl+Z.
destination Le répertoire et/ou le nom de fichier pour le(s) nouveau(x) fichier(s). Si la destination n'est pas spécifiée, la source est copiée dans le répertoire courant 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 courant, un message d'erreur s'affiche indiquant que "le fichier ne peut pas être copié vers 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
é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. D'autre part, 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 /Y | Commutateur /-Y dans la variable d'environnement COPYCMD et annulé à l'aide de /Y | Commutateur /-Y sur la ligne de commande.
COPY ne copie pas les fichiers de 0 octet de long ; à la place, 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 utilise 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 alambiquée permet à COPY de concaténer des fichiers et de travailler 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" dans le lecteur et le répertoire en cours vers le répertoire "mynotes" :
COPY note.txt c:\mynotes
or
COPY note.txt c:\mynotes\
Dans le premier cas, si le champ "mynotes" répertoire 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 "répertoire invalide" message d'erreur s'affichera. Pour copier tous les fichiers dans "mynotes" vers un répertoire nommé "mynotes backup" sur le lecteur D :
COPIER c:\mynotes\*.* d:\mynotes backup\
Pour faire une copie de "note.txt" dans le lecteur et le répertoire actuels et appelez-le "program note.txt"
COPIER note.txt "note de programme.txt"
DEBUG
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 utilisaient DEBUG.COM et MS-DOS 5.x et au-delà utilisaient DEBUG.EXE pour cela.
DEBUG.EXE est l'un de ces petits programmes qui, entre les mains d'un utilisateur qualifié, est un outil incroyablement puissant avec lequel on peut visualiser et éditer le contenu de la mémoire à court terme (RAM) et à long terme (hard/ support de 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 d'option "annuler" commande, faites donc 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 puissant outil de programmation qui peut être utilisé pour accéder à votre ordinateur au niveau matériel. Si vous ne faites pas attention, vous pourriez causer des dommages tels que l'effacement de votre disque dur ou le verrouillage de votre clavier.
Syntaxe :
DEBUG [nom de fichier]
DEBUG [[lecteur :] [chemin] nom du fichier [testfile-parameters]]
[drive :][path]filename Spécifie le fichier que vous voulez tester.
testfile-parameters Spécifie les informations de ligne de commande requises par le fichier que vous souhaitez tester.
Comment démarrer le 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 trait d'union (-). 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 de visualiser le contenu de tous les emplacements de mémoire dans la RAM. Vous pouvez également charger jusqu'à 128 secteurs d'une disquette ou d'un disque dur et afficher, modifier ou déplacer le contenu vers un autre emplacement.
DEBUG configure une zone de travail en mémoire de 65 535 emplacements (décimaux) d'un octet, ce qui est égal aux octets FFFF en hexadécimal. Les 256 premiers octets (décimaux) ou 100 octets hexadécimaux de cette zone sont réservés à ce qu'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 au décalage 100.
Un exemple de commande de débogage est présenté sur la ligne suivante.
DÉBOGAGE
L 0100 0 0 80 (retour)
Dans cette commande, nous disons au débogage de charger en mémoire à partir du décalage 100, 80 secteurs (Hex) du lecteur A en commençant par le secteur 0. 80 secteurs Hex est égal à 128 secteurs décimaux, donc si chaque secteur sur le disque, stocke 512 octets alors 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 \chemin\nomfichier (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 manière, nous sommes en mesure de visualiser, modifier ou déplacer un programme COM ou un fichier texte ASCII. C'est un moyen très pratique de DÉBOGUER ou de réparer un programme COM.
MS-DOS n'autorisera que deux types de programmes à s'exécuter sous son contrôle et ils doivent se terminer par les extensions EXE ou COM. La différence entre ces deux types de programme réside dans la manière dont DOS gère les parties de maintenance du programme.
Cette zone de maintenance, souvent appelée le préfixe de segment de programme (PSP), est un bloc de mémoire de 256 octets qui doit être réservé par le programme et dont DOS a besoin pour rendre le contrôle au système d'exploitation lorsque le programme se termine.
Sans entrer dans trop de détails, nous soulignerons 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 Hex (256 Dec) du programme. La première instruction du programme COM doit commencer à l'offset 100 en mémoire.
DOS crée la 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 fait 64 Ko).
Extension EXE
Les programmes EXE peuvent être de n'importe quelle taille de 200 octets à 640k octets. La PSP doit être configurée par le programmeur, lorsque le programme est assemblé. 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.
D'après la comparaison des 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 dans le débogage.
Une fois dans DEBUG, nous pouvons commencer l'assemblage d'un programme à l'offset 100 et ne pas nous préoccuper de PSP ou de l'emplacement des données, du code et de la pile. Il est possible de regarder un programme EXE avec DEBUG si nous renommons le programme avec une extension différente avant de le charger en mémoire.
Après le démarrage de DEBUG, tapez ? pour afficher une liste de commandes de débogage. Pour sortir de DEBUG, vous devez "Q" et entrez. Pour exécuter la routine DEBUG, vous devez faire "G" et entrez.
Voyons un exemple :
DÉBOGAGE <retour>
D40:00 <retour>
Les informations sur les ports de votre ordinateur seront affichées si un port est absent ou ne répond pas, l'état de ce port sera affiché sous la forme 00.
Entrez maintenant Q pour revenir.
Q <retour>
Une fois que DEBUG a été appelé, l'"invite DEBUG" quelque peu énigmatique, un trait d'union (-), s'affiche. À l'invite, les "commandes DEBUG" sont valides :
Command |
Parameters |
Action |
? |
|
This list of DEBUG commands. |
A |
[address] |
Assemble |
C |
range address |
Compare |
D |
[start address [end address | L range]] |
Displays a segment of memory. By default start address is offset 100 of the first free segment of memory, or offset 100 of the segment containing a file loaded by DEBUG. The default end address is 017F ( a range of 128 bytes). |
E |
address [list] |
Enter |
F |
range list |
Fill |
G |
[=address] [addresses] |
Go |
H |
value1 value2 |
Hex |
I |
Port |
Input |
L |
- |
Loads a previously "named" (by N command) file into memory where it can be viewed /edited. |
L |
Number |
Used with commands accepting a "range" argument to denote a number of bytes. Typically used in arguments as: start address L number. If number should take end address past the end of the segment, then number is truncated so the end address is the last byte of the segment. |
M |
range address |
Move |
N |
[path] filename [arglist] |
"Names" a file for DEBUG. A file must be "named" before it can be loaded for viewing/editing. |
O |
port byte |
Output |
P |
[=address] [number] |
Proceed |
Q |
|
Exit DEBUG. |
R |
[register] |
Register |
S |
range list |
Search |
T |
[=address] [value] |
Trace |
U |
[range] |
Unassembled |
W |
[address] [drive] [first sector] [number] |
Write |
XA |
[#pages] |
Allocate expanded memory |
XD |
[handle] |
de-allocate expanded memory |
XM |
[Lpage] [Ppage] [handle] |
Map expanded memory pages |
XS |
|
Display expanded memory status |
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 du fichier Nom du fichier à supprimer.
/P Force la confirmation avant de supprimer 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 SUPPR \?*.*
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 est annulée et un message d'erreur s'affiche.
DEL sera interprété avec un nom de fichier long avec des espaces comme paramètres multiples, provoquant une erreur. Entourer le nom de fichier long d'espaces entre guillemets résout le problème. Voyons un exemple :
D:\>del note 2.txt
Too many parameters - 2.txt
D:\>del "note 2.txt"
D:\>_
DEL ne supprime pas les fichiers dont les attributs en lecture seule, masqués et/ou système sont définis. Pour supprimer de tels fichiers, on peut utiliser DELTREE ou modifier les attributs nécessaires avec la commande ATTRIB.
DELTREE
Supprime les fichiers et 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 invites de confirmation avant
suppression.
Pour supprimer tous les fichiers et sous-répertoires mais laisser le répertoire lui-même :
DELTREE [/Y] répertoire\*.*
Pour supprimer un fichier :
DELTREE [/Y] nom de fichier
La commande DELTREE supprime tous les fichiers contenus dans un répertoire ou un sous-répertoire, qu'ils soient marqués comme masqué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 prudence. Si vous spécifiez un caractère générique qui correspond à la fois aux noms de répertoire et aux noms de fichier, 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 future et en évitant l'invite de confirmation :
DELTREE /Y c:\notes\*.*
Pour supprimer le fichier en lecture seule recover.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 la modification de la ligne de commande, en se souvenant des commandes précédentes et en étant capable d'enregistrer des macros.
Syntaxe :
Pour charger DOSKEY :
DOSKEY [/Commutateurs]
Switches |
what it does |
/B:xxx |
Sets the size of the buffer for macros and commands. The minimum value of xxx is 256 and the default is 512 (bytes). If DOSKEY is already running, it must be reloaded (with /R) when changing the buffer size. |
/E:On|Off |
Enables|Disables the display of commands when a macro plays. E(Echo) is On by default. |
/F:filename |
Retrieves filename - a text file containing a list of macros in the form Macroname=Text |
/H |
Displays all commands stored in memory. (This list will not be redirected to a file). |
/I|O |
Specifies whether text is entered in Insert or Overstrike mode by default. In either case the alternative mode can be selected by using <Insert> but the default is reset as soon as <Enter> is used. The default mode is Overstrike. |
/K:xx |
Sets the size of the keyboard type-ahead buffer. The default is 15 (characters). If DOSKEY is already running, it must be reloaded (with /R) when changing the buffer size. |
/L |
Sets the maximum size of the line edit buffer. The default is 128 (characters). |
/M |
Displays a list of all DOSKEY macros currently in the buffer. This list can be redirected to a text file using standard Dos redirection (>) |
/R |
Installs a new instance of DOSKEY. If DOSKEY is already running, the buffer is cleared of both macros and the Command Line history. Note that installing a new instance of DOSKEY does not remove the previous instance. Thus each use of /R takes another 5K of conventional/upper memory. |
Macroname |
The name of the macro. This is a string of one or more characters possibly modified by the Ctrl and/or Alt keys. |
Text |
The text string to be assigned to Macroname. This will typically be one or more DOS commands along with appropriate parameters and/or switches. |
Pour créer une macro DOSKEY :
DOSKEY Macroname=Texte
Pour exécuter une macro :
Macronom
Switches |
what it does |
/B:xxx |
Sets the size of the buffer for macros and commands. The minimum value of xxx is 256 and the default is 512 (bytes). If DOSKEY is already running, it must be reloaded (with /R) when changing the buffer size. |
/E:On|Off |
Enables|Disables the display of commands when a macro plays. E(Echo) is On by default. |
/F:filename |
Retrieves filename - a text file containing a list of macros in the form Macroname=Text |
/H |
Displays all commands stored in memory. (This list will not be redirected to a file). |
/I|O |
Specifies whether text is entered in Insert or Overstrike mode by default. In either case the alternative mode can be selected by using <Insert> but the default is reset as soon as <Enter> is used. The default mode is Overstrike. |
/K:xx |
Sets the size of the keyboard type-ahead buffer. The default is 15 (characters). If DOSKEY is already running, it must be reloaded (with /R) when changing the buffer size. |
/L |
Sets the maximum size of the line edit buffer. The default is 128 (characters). |
/M |
Displays a list of all DOSKEY macros currently in the buffer. This list can be redirected to a text file using standard Dos redirection (>) |
/R |
Installs a new instance of DOSKEY. If DOSKEY is already running, the buffer is cleared of both macros and the Command Line history. Note that installing a new instance of DOSKEY does not remove the previous instance. Thus each use of /R takes another 5K of conventional/upper memory. |
Macroname |
The name of the macro. This is a string of one or more characters possibly modified by the Ctrl and/or Alt keys. |
Text |
The text string to be assigned to Macroname. This will typically be one or more DOS commands along with appropriate parameters and/or switches. |
Pour créer une macro DOSKEY :
Nom de macro DOSKEY=Texte
Pour exécuter une macro :
Nom de macro
DOSKEY Commands |
What it does |
Left/Right cursor |
Moves the cursor back/forward one character. |
Ctrl + Left/Right cursor |
Moves the cursor back/forward one word. |
Home/End |
Moves the cursor to beginning/end of line. |
Up/Down cursor |
To scroll up (and back) through the list of stored commands. Each press of the "up" key recalls the previous command and displays it on the command line. |
Page Up/Down |
Recalls the oldest/most recent command in the buffer |
F1 |
Copies the next character from the Template to the Command Line |
F2 + key |
Copies text from the Template up to (but not including) key. |
F3 |
Copies the Template from the present character position to the Command Line. |
F4 + key |
Deletes the characters from the present character position up to (but not including) key. |
F5 |
Copies the current command to the Template and clears the Command Line. |
F6 |
Places an end-of-file character (^Z) at the current position of the Command Line. |
F7 |
Displays a numbered list of the command history. |
Alt-F7 |
Deletes all commands stored in the buffer. |
Chars + F8 |
Entering one or more characters Chars followed by F8 will display the most recent command beginning with Chars. Pressing F8 again will display the next most recent command beginning with Chars, and so on. |
F9 + Command# |
Displays the designated command on the command line. |
Alt-F10 |
Deletes all macro definitions. |
Pour supprimer une macro :
Nom de macro DOSKEY=
Caractères spéciaux DOSKEY
Les caractères spéciaux suivants peuvent être utilisés dans les macros pour contrôler les opérations de commande :
Characters |
What is does |
$G |
Redirects output – equivalent to the redirection symbol > |
$G$G |
Appends output to the end of a file - equivalent to the append symbol >> |
$L |
Redirects input - equivalent to the symbol < |
$B |
Sends macro output to a command - equivalent to the pipe symbol | |
$T |
Separates commands when creating macros or typing commands on the DOSKEY command line |
$$ |
Use for the $ sign |
$1 to $9 |
Represents any command-line parameters that can be specified when the macro is run. Comparable with the %1 to %9 characters in batch programs |
$* |
Represents command-line information that can be specified when macroname is written. $* is similar to the replaceable parameters $n except that everything typed on the command line after macroname is substituted for the $* in the macro. |
DIR
Affiche la liste des fichiers et sous-répertoires d'un répertoire.
Syntaxe :
DIR [drive :] [chemin] [filename] [/Switches]
Switch |
What Is does |
none |
By default, DIR displays:
- a header comprising the disk's volume label and serial number;
- a list of all files and subdirectories in the current directory in the order they are listed in the FAT except those marked 'hidden' and/or 'system'. Along with each file/directory is its size, date/time of last modification, and long file name;
- a footer comprising the total number of files listed, their cumulative size, and the free space (in bytes) remaining on the disk.
|
/A [attributes] |
Displays files with and without specified attributes. Multiple attributes can be specified with no spaces between them.
attributes (Using the "-" as a prefix specifies "not")
D Directories
R Read-only files
H Hidden files
A Files modified since last back-up
S System files |
/O
[sortorder] |
List files in sorted order.
If order of sorting is not specified, directories are listed alphabetically followed by files, also listed alphabetically. Any combination of sorting order keys can be specified and files will be sorted in the order of the keys.
sortorder (Using "-" as a prefix reverses the order)
N By name (alphabetic)
S By size (smallest first)
E By extension (alphabetic)
D By date & time (earliest first)
G Group directories first
A By Last Access Date (earliest first) |
/S |
Displays Files in the specified Directory and all its Subdirectories |
/W |
Wide list format. File and Directory names are listed in 5 columns |
/B |
Bare format. Files and Directories are listed in a single column without header, summary, or any details. |
/L |
Output is in lowercase. |
/P |
Pauses with each screen, full of information. Press any key to see the next screen. |
/V |
Forces to Verbose mode. This displays attributes, date last accessed, and disk space allocated for each file, in addition to the standard information. |
/Z |
Long file names are not displayed in the file listing. |
/4 |
Displays the date as four digits rather than two. |
La commande DIR n'accepte qu'un seul chemin comme paramètre. Les noms de fichier et de répertoire longs qui incluent un espace doivent être entourés de virgules inversées. 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 standard point (.) pour afficher les répertoires de niveau supérieur. Si plus de points sont utilisés qu'il n'en faut 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 ne lister que les fichiers et /B pour éviter les informations superflues telles que la taille des fichiers, les en-têtes et informations sommaires. De plus, lorsque la sortie d'une commande DIR est redirigée via un tube, un fichier temporaire est créé qui est automatiquement supprimé une fois l'opération terminée.
Par défaut, ce fichier temporaire se trouve dans le répertoire spécifié par le "TEMP" variable d'environnement mais, si celle-ci n'est pas précisée ou introuvable, elle sera créée dans le répertoire courant du lecteur courant. Si la commande DIR fait également référence au répertoire courant, ces fichiers temporaires seront récupérés et inclus dans la liste.
DISKCOPY
DISKCOPY is used to duplicate floppy disks. Any data on the destination disk is overwritten.
Syntax:
DISKCOPY drive1: [drive2:] [/1] [/V] [/M]
drive1 Drive containing disk to be copied from and to, if the computer has only one floppy drive.
drive2 Drive containing disk to be copied to if different from
drive1.
/1 Copies only the first side of the disk.
/V Verifies that the information is copied correctly.
/M Force multi-pass copy using memory only.
DISKCOPY is designed to duplicate standard floppy disks by making a byte-by-byte copy of the source disk to the destination disk. DISKCOPY do not work with hard drives, CDs, network drives, or Zip, Jazz, etc. type drives. Also it should be kept in mind Source and destination disks must be of the same type, size, and capacity. If they are not, an error message is displayed:
MODIFIER
Il s'agit d'un simple éditeur de texte ASCII plein écran basé sur DOS.
Syntaxe
MODIFIER [/B] [/H] [/R] [/S] [/nnn] [nom(s) de fichier]
/B Force le mode monochrome.
/H Affiche le nombre maximum 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 Charge le(s) fichier(s) binaire(s), en ramenant les lignes à nnn caractères de large.
filename(s) Spécifie le ou les fichiers initiaux à charger. Des caractères génériques peuvent également être utilisés.
Pour voir la liste des touches de raccourci, vous pouvez consulter l'"Aide" menu de l'éditeur.
QUITTER
Dans le cas du DOS de l'environnement Windows, la commande EXIT est utilisée pour quitter le shell DOS sinon si elle parle en général, Quitte l'interpréteur de commandes MS-DOS (COMMAND.COM) et revient au programme qui a démarré l'interpréteur de commandes, le cas échéant existe.
Syntaxe
QUITTER
FC
Compare deux fichiers ou ensembles de fichiers et affiche les différences entre eux.
Syntaxe :
FC [/Switches] fichier1 fichier2
Switch |
What It does |
/B |
Performs a binary comparison.
The two files are compared byte by byte and there is no attempt to resynchronize the files after finding a mismatch. This is the default mode for comparing files when file1 has an extension of .EXE, .COM, .SYS, .OBJ, .LIB and .BIN or similar to it. |
/L |
Compares files as ASCII.
The two files are compared line by line and FC attempts to resynchronize the files after finding a mismatch. This is the default mode for comparing files when file1 does not have an extension of .EXE, .COM, .SYS, .OBJ, .LIB and .BIN or similar to it. |
/LBn |
Sets the number of lines for the internal line buffer.
If the files being compared have more than this number of consecutive differing lines, FC cancels the comparison. Default value of n is 100 |
/nn |
The number of consecutive lines that must match before the files are declared resynchronized. If the number of matching lines in the files is less than this number, the matching lines are displayed as differences. Default value of nn: 2. |
/N |
Displays the line numbers on an ASCII comparison. |
/A |
Abbreviates the output of an ASCII comparison. Only the first and last line for each set of differences is displayed as opposed to the default of every different line. |
/C |
Disregards the case of letters. |
/T |
Does not expand tabs to spaces.
By default, tabs are treated as spaces with 1 tab = 8 spaces. |
/W |
Compresses tabs and multiple spaces to a single space for the comparison. |
Si fichier1 inclut un caractère générique, tous les fichiers applicables sont comparés à fichier2. Si fichier2 inclut également un joker, il est comparé avec le 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 en utilisant le commutateur /LB1 pour réduire la sortie au minimum.
Voyons un exemple des différences significatives dans les délais de traitement. En essayant les exemples suivants, vous serez en mesure de comprendre comment utiliser FC pour gagner du temps et gagner du temps :
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
FDISK
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 être sûr de le faire, sinon cela pourrait supprimer ou modifier les informations de vos partitions et vous pourriez 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 comme :
- Une partition primaire et/ou
- Une partition étendue
Une partition étendue doit être désignée comme contenant un ou plusieurs lecteurs logiques DOS. Si vous supprimez des partitions, vous détruisez tout ce qu'elles contiennent ou, du moins, rendez très difficile la récupération des données. Nous en apprendrons plus sur Fdisk dans la section Programmation de récupération de ce livre.
TROUVER
La commande FIND est utilisée pour rechercher une chaîne de texte dans un fichier ou des fichiers. Après avoir recherché les fichiers spécifiés, FIND affiche toutes les lignes de texte contenant la chaîne.
Syntaxe :
TROUVER [/V] [/C] [/N] [/I] "chaîne" "nomfichier1" "nomfichier2" "nom du fichier ..."
Switch |
What It Does |
/V |
Displays all lines NOT containing the specified string. |
/C |
Displays only a count of lines containing the string. If used with /V, FIND displays a count of the lines that do not contain the specified string. |
/N |
Displays line numbers with the lines. If /C and /N are used together, /N is ignored. |
/I |
Ignores the case of characters in string. By default FIND is case sensitive and searches for an exact character match. |
string |
The text string to be found. String must be in inverted commas. |
filename |
The file(s) to be searched. If filename does not contain spaces, it does not need to be enclosed in inverted commas. |
Si le nom de fichier n'est pas spécifié, FIND recherche l'entrée de texte à 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 virgules inversées sont utilisées pour délimiter la chaîne, elles ne peuvent pas être utilisées dans la chaîne dans le cadre du modèle de recherche.
Pour inclure des virgules inversées dans la chaîne, il est nécessaire d'utiliser le "caractère spécial" de doubles guillemets ("") 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" qui contient la chaîne "devoirs" :
TROUVEZ "devoirs" notes.txt
Si la chaîne contient des guillemets, ceux-ci doivent être doublés :
TROUVER "Le résultat de ""B.E. Dernière année"" n'a pas été affiché." Résultat.doc
FORMAT
Formate un disque pour une utilisation avec MS-DOS. Rappelez-vous toujours 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 rappelez-vous toujours de voir quelle lettre de lecteur vous entrez dans la commande FORMAT.
Syntaxe :
FORMATER le lecteur : [/Commutateurs]
Switch |
What It does |
/V[:label] |
Specifies a volume label. If the /V switch is omitted, or label is not specified, a prompt for a volume label is displayed after formatting is completed. If no volume label is required, the prompt can be avoided by specifying: /V:""
If a label is specified and more than one disk is formatted in a session, all of the disks will be given the same volume label. |
/Q |
Forces the Quick format of a previously formatted disk. The file allocation table (FAT) and root directory of the disk is deleted but it is not scanned for bad areas. |
/S |
Copies system files to the formatted disk to make it a boot disk. |
/B |
Allocates space on the formatted disk for system files. |
/F:size |
Formats a disk to a capacity other than that for which the drive was designed. Size can be: 360, 720, 1.2, 1.44, and 2.88. |
/T:tracks |
Specifies the number of tracks per disk side. |
/N:sectors |
Specifies the number of sectors per track. |
/1 |
Formats a single side of a floppy disk. |
/4 |
Formats a 5.25-inch 360K floppy disk in a high-density drive. |
/8 |
Formats eight sectors per track |
/C |
Tests clusters that are currently marked "bad." By default, if a disk contains clusters that have been marked as "bad", FORMAT does not retest the clusters; it simply leaves them marked "bad". |
Par défaut, et sauf si le commutateur /Q est utilisé ; chaque secteur du disque est vérifié pendant le processus de formatage pour s'assurer que le secteur peut correctement stocker les données.
Si un secteur défectueux est localisé, il est marqué et n'est pas utilisé. Lorsque le formatage est terminé, un message s'affiche indiquant l'espace disque total, tout 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
Le ren /? partie alimente, avec une charge de matériau 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 désordonnée des deux commandes.
ÉTIQUETTE
La commande LABEL est utilisée pour créer, modifier ou supprimer le nom de volume d'un disque. L'étiquette de volume d'un disque est affichée dans le cadre de la liste des répertoires avec le numéro de série du volume, s'il existe.
Syntaxe :
LABEL [lecteur :] [libellé]
Lecteur : l'emplacement du disque à nommer.
Libellé Le nouveau libellé de volume.
Aucun Affiche le nom du disque actuel, s'il existe. Invite à saisir un nouveau libellé ou à supprimer celui existant
MD (ou MKDIR)
Crée un répertoire. MD et MKDIR font également 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 couramment utilisée pour afficher les fichiers longs, la sortie du répertoire, etc.
Syntaxe :
MORE [path] filename
MORE < [path] filename
command | MORE [path] [filename]
command a command whose output is to be displayed.
Fichier(s) de nom de fichier pour afficher un écran à la fois
PLUS de nom de fichier et PLUS < filename sont synonymes et équivalents à TYPE filename | SUITE. Dans tous ces cas, le nom de fichier est affiché un écran à la fois. En appuyant sur "Entrée" affiche l'écran suivant. L'affichage peut être interrompu à tout moment en appuyant sur Ctrl-C. MORE ajuste automatiquement le texte pour l'adapter à l'écran.
Prenons l'exemple d'un gros fichier texte nommé BIGFILE.TXT. Maintenant, les trois commandes suivantes effectueront la même tâche :
TYPE bigfile.txt | MORE
MORE bigfile.txt
MORE < bigfile.txt
DEPLACER
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 :
DEPLACER [/Y | /-Y] [chemin] destination du nom de fichier
/Y Supprime la demande de confirmation de création d'un répertoire ou d'é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 sont répertoriés pour ê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 (supprime) un répertoire vide. RD et RMDIR sont synonymes et effectuent les mêmes tâches.
Syntaxe :
RD [chemin] nom du répertoire
S'il y a une barre oblique inverse ( \ ) avant le premier nom de répertoire dans le chemin, ce répertoire est considéré comme un sous-répertoire du répertoire racine sur le lecteur actuel. S'il n'y a pas de barre oblique inverse avant le premier nom de répertoire dans le chemin, le répertoire est considéré comme un sous-répertoire du répertoire courant.
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 est affiché par 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 les répertoires racine sont corrompus. Cela peut déformer vos informations de données et rendre leur récupération difficile. Non seulement cela, vous ne pouvez pas récupérer complètement les données |
Généralement, 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, il transfère automatiquement le contrôle à la version Windows de Scandisk
TYPE
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
XCOPY
Cette commande est l'une des commandes les plus importantes lorsque vous souhaitez effectuer la sauvegarde de vos données importantes ou même si 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'elle comporte de nombreux autres commutateurs qui permettent un contrôle considérable sur exactement ce qui est copié lors de l'utilisation de caractères génériques.
Syntaxe :
XCOPY source [destination] [/Commutateurs]
source Le(s) fichier(s) 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.
Switch |
What it does |
/E |
Copies the complete subdirectory structure of source and all files therein. |
/S |
Copies the complete subdirectory structure of source and all files therein but does not copy empty subdirectories. |
/T |
Copies the subdirectory structure of source but does not copy any files and does not copy empty subdirectories. To include empty subdirectories, use with the /E switch. |
/A |
Only copies files with the archive attribute set. |
/M |
Only copies files with the archive attribute set, turning off the archive attribute of the source files. |
/H |
Includes files with hidden and system attributes set. |
/K |
Copies files without resetting the read-only attribute, if set. |
/R |
Overwrites read-only files. |
/U |
Only copies files in source that already exist in destination. Can be used with /D to update files with more recent versions. |
/D:date |
Only copies files with a 'last modified date' the same as, or later than, date. If date is not specified, all files are copied except for same-named files in the destination directory that have a more recent 'last modified date' than the one in source. |
/I |
Forces destination to be treated as a directory. The file/directory prompt is suppressed. |
/Y |
Overwrites existing files without prompting. |
/-Y |
Prompts before overwriting existing files. |
/W |
Displays a prompt before starting to copy files. |
/P |
Prompts for confirmation before creating each destination file. |
/F |
Displays full source and destination file names while copying. |
/Q |
Does not display file names or any other messages while copying. |
/C |
Continues copying even if errors occur. |
/L |
Displays files to be copied but does not actually copy them. |
/N |
Copy using the generated short names. This is necessary when copying from a VFAT volume to a FAT volume. |
/V |
Verifies that new files are readable. |
Par défaut, XCOPY ne copiera pas les fichiers dont les attributs système ou cachés sont définis et les copies de fichiers en lecture seule n'ont pas l'ensemble d'attributs en lecture seule, et tous les fichiers copiés ont leur attribut d'archive défini. Par défaut, XCOPY demande avant d'écraser les fichiers dans la destination avec des fichiers dans la source du même nom.
XCOPY demande également des instructions en cas d'ambiguïté si la destination est un répertoire ou un fichier. Une ambiguïté apparaît 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 par les 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
or
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:9/12/02
Création de "l'image du lecteur"
Si vous souhaitez effectuer la sauvegarde de l'intégralité de votre lecteur sur un autre ou si vous souhaitez créer une image de vos données de lecteur "y compris le système d'exploitation et les autres logiciels installés" sur un autre disque dur, essayez 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é, le logiciel, le document, etc.) sous forme d'image sur le lecteur destination.
Et après cela, si vous démarrez votre ordinateur avec le lecteur destination, cela fonctionnera de la même manière que le lecteur source fonctionnait et il affichera toutes les données que vous étiez avoir dans 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 :
Shortcut |
Why to use it |
. |
to refer to the current directory |
.. |
to refer to the parent directory |
\ |
to refer to the root directory of the current drive. |
drive: |
to refer to the current directory on drive |
Essayons de le comprendre à l'aide d'exemples. Si le répertoire actuel sur le lecteur c: est c:\windows\java\notes, alors dir c: à a:\> l'invite 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 "wildcards" (* et ?). Termes généraux, * fait référence à plusieurs caractères et ? fait référence à un seul caractère dans un nom de fichier ou de répertoire.
C'est la raison pour laquelle nous ne pouvons utiliser ces caractères dans le nom d'aucun fichier. Ces caractères spéciaux sont / \ : * ? < > “ | qu'il ne faut pas essayer d'insérer dans un nom de fichier. Le tableau suivant montre l'utilisation des caractères génériques :
Wildcard |
What it does |
*.* |
All files with all extensions. |
*data*.* |
All files with "data" anywhere in its name. |
*array.* |
All files with names ending with "array" |
note?.cpp |
All files named "note" plus one character and with .CPP extensions. This file may be note1.cpp, but not note.cpp. |
?t*.* |
All files with an "t" as second letter in their names |
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 * ne supprimerait que les fichiers sans extension.
Un espace délimité par des virgules inversées ("") est accepté comme spécification de fichier valide par EDIT et DEL, mais de manière assez différente.
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 pour 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'il manque un paramètre obligatoire.
Contrairement à EDIT, un chemin peut être inclus et, si c'est le cas, aucun espace entre les virgules inversées 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 entrée de l'utilisateur. La redirection est un mécanisme par lequel la sortie d'une commande peut être transmise soit à un autre périphérique, par exemple une imprimante ou un fichier, soit à un autre programme ou commande.
Il existe quatre fonctions de redirection :
> |
Redirect output |
>> |
Append |
< |
Redirect input |
| |
Pipe |
>
Redirige la sortie d'une commande depuis le "périphérique de sortie standard" (généralement le moniteur) à un autre appareil (par exemple une imprimante) ou un fichier.
Syntaxe :
Pour rediriger la sortie vers un appareil :
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 autre chose qu'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 le comprendre.
Les utilisations les plus courantes de cette fonction de redirection consistent probablement à envoyer des listes de répertoires à l'imprimante ou à les enregistrer sous forme de fichier. Pour imprimer une liste de répertoire triée de tous les fichiers du répertoire Windows :
DIR c:\windows /o/a > PRN
Pour créer un fichier contenant la liste des répertoires du même répertoire :
DIR 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 Filename existe, la sortie de la commande y est ajoutée, contrairement à > fonction où le contenu original est écrasé. Comprenons mieux avec l'exemple.
Pour ajouter la liste des répertoires des fichiers dans le répertoire c:\windows\system à celle créée auparavant :
DIR c:\windows\system /o/a >> d:\windows.txt
<
Dirige l'entrée vers une commande à partir d'une source autre que celle par défaut. La source par défaut étant généralement le clavier.
Syntaxe :
Commande < Source de données
Il est généralement utilisé dans la programmation par lots. Comprenons-le avec l'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.
debug mbr.bin
A
MOV DX, 6000
MOV ES, DX
XOR BX, BX
MOV DX, 0080
MOV CX, 0001
MOV AX, 0201
INT 13
INT 20
<Enter>(type nothing)
G
R CX
200
W 6000:0000
Q
Pour cela, à l'aide d'un fichier de commandes, nous créons deux fichiers de commandes, l'un contenant l'instruction de commande pour démarrer la commande DEBUG et l'autre pour stocker d'autres instructions qui seront transmises à 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 |
DEBUG mbr.bin < ttsource.bat |
Et évidemment, le deuxième fichier nommé TTSOURCE.BAT fonctionnera comme source de données pour cela et contiendra les instructions suivantes :
TTSOURCE.BAT |
A |
MOV DX, 6000 |
MOV ES, DX |
XOR BX, BX |
MOV DX, 0080 |
MOV CX, 0001 |
MOV AX, 0201 |
INT 13 |
INT 20 |
<enter> (Type Nothing) |
G |
R CX |
200 |
W 6000:0000 |
Q |
|
Le tube redirige la sortie d'un programme ou d'une commande vers un deuxième programme ou commande.
Syntaxe :
Commande1 | Commande2
Voyons un exemple de saisie d'un long fichier texte :
tapez file.txt |plus
Page modifiée le: 09/03/2022