Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
Rust
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Introduction
Une brève histoire de DOS
Structure interne de DOS
Démarrage du DOS
Programmes COM et EXE
Entrée et sortie de caractères depuis DOS
Gestion de fichiers sous DOS
Accéder au répertoire DOS
La fonction EXEC
Allocation de mémoire depuis DOS
Filtres DOS
Ctrl+Break et interruptions d'erreur critique
Pilotes de périphériques DOS
Entreposage de masse DOS
Conseils sur la compatibilité entre les ordinateurs PC
Structures DOS non documentées
Les différences du DOS 4.0
Format de fichiers
Structure de données
Interruptions
CONFIG.SYS
.BAT
.COM
.EXE
Liste des exécutables populaires (.EXE)
FCB (File Control Block)
PSP (Prefix Segment Program)
21h: Service DOS
2Ah: Interface de service réseau
2Fh: Multiplexe
33h: Interface du pilote de souris
67h: Gestionnaire EMM/EMS
FFh, 92h: Détecte la présence du pilote «PREDIR.EXE»
16h: Windows & DPMI
0Ah: Détection de Windows
84h: Demande le point d'entrée
86h: Détection du mode DPMI
87h: Détecte l'installation DPMI
8Eh: Machine virtuel et application
Préface
Notes légal
Dictionnaire
Recherche

Filtres DOS

Les filtres sont des programmes, des routines ou des utilitaires acceptant les entrées et modifient les données pour les sorties. Les filtres font la même chose au niveau du système d'exploitation : les caractères sont passés à ces filtres en entrée, les filtres modifient les caractères puis envoient les caractères modifiés en sortie. Cette manipulation prend plusieurs formes. Les filtres peuvent trier les données, remplacer certaines données par d'autres données, encoder des données ou décoder des données.

Le DOS a trois filtres de base disponibles :

Commande Description
FIND Recherche l'entrée d'un ensemble de caractères spécifié
SORT Organise le texte ou les données dans l'ordre
MORE Formats d'affichage de texte

Ces filtres effectuent une redirection simple des entrées/sorties standard. Ils lisent les caractères du périphérique d'entrée standard, manipulent les caractères selon les besoins, puis les affichent sur le périphérique de sortie standard. Le périphérique d'entrée standard sous DOS est le clavier et le périphérique de sortie standard est le moniteur. Les versions DOS 2.0 et supérieures permettent à l'utilisateur de rediriger l'entrée/sortie standard vers des fichiers. Ainsi, un filtre peut lire les caractères du clavier ou d'un fichier, selon le périphérique d'entrée standard sélectionné. Ceci est possible en utilisant un filtre en conjonction avec l'une des fonctions de descripteur de fichier DOS pour la lecture et l'écriture. Le DOS propose cinq descripteurs de fichiers :

Descripteur de fichier Description Nom
0 Entrée standard CON (clavier)
1 Sortie standard CON (écran)
2 Sortie d'erreur standard CON (écran)
3 Interface série standard AUX
4 Imprimante standard PRN

Si l'utilisateur appelle un programme depuis le niveau DOS, le caractère < redirige l'entrée et le caractère > redirige la sortie. Dans l'exemple suivant, l'entrée provient du fichier IN.TXT au lieu du clavier. La sortie est écrite dans le fichier OUT.TXT à la place de l'écran :

sort <in.txt >out.txt

SORT

Une fois que l'utilisateur a entré la commande ci-dessus, DOS reconnaît qu'un programme nommé SORT doit être appelé. Puis il rencontre l'expression <IN.TXT qui redirige l'entrée standard. Cela se produit en affectant le descripteur de fichier 0 (entrée standard, pointant auparavant vers le clavier) au fichier IN.TXT. L'expression >OUT.TXT réinitialise le descripteur de fichier 1 sur le fichier OUT.TXT au lieu de l'écran. Le descripteur de fichier affecté est d'abord fermé, puis le fichier redirigé est ouvert.

Une fois que le processeur de commandes a terminé avec la ligne de commande, il appelle le programme SORT à l'aide de la fonction EXEC (fonction 4Bh de DOS). Étant donné que le programme appelé avec la fonction EXEC dispose de tous les descripteurs du programme appelant, le programme SORT peut entrer/sortir des caractères vers les descripteurs 0 et 1. L'origine des caractères n'a pas d'importance pour le programme.

Une fois que le programme SORT a terminé son travail, il rend le contrôle au processeur de commandes. Le processeur de commande réinitialise la redirection et attend une autre entrée de l'utilisateur.

Tuyaux

Le principe de filtrage tel qu'il est supporté par DOS devient particulièrement puissant à travers les tuyaux. Cette expression vient de l'idée d'un pipeline utilisé pour transporter du pétrole ou du gaz. Les tubes DOS ont une fonction similaire : ils transportent des caractères d'un programme à un autre et permettent la connexion de divers programmes entre eux.

Lorsque cela se produit, les caractères sortis d'un programme vers le périphérique de sortie standard peuvent être lus par un autre programme depuis le périphérique d'entrée standard. Comme dans la redirection de l'entrée/sortie standard, les deux programmes ne remarquent pas les pipelines. La différence entre les deux procédures est que sous la redirection des périphériques d'entrée/sortie standard, les données ne peuvent être redirigées que vers un périphérique ou un fichier, tandis que l'utilisation de canaux permet le transfert de données vers un autre programme.

Filtres combinés

Les tuyaux permettent à l'utilisateur de connecter plusieurs filtres. Le caractère pipe | est inséré entre les programmes à connecter. Un exemple devrait rendre cela plus compréhensible : Un fichier texte nommé DEMO.TXT est trié puis affiché à l'écran sous forme de page. Même si cette tâche semble très compliquée au premier abord, elle peut être effectuée facilement à l'aide de deux filtres DOS : SORT et MORE. SORT trie le fichier et MORE affiche le fichier à l'écran sous forme de page.

La question est, comment pouvez-vous dire au processeur de commandes de faire ces choses ? Le premier SORT est utilisé. Ce filtre est chargé de trier le fichier DEMO.TXT. La redirection d'entrée standard peut être utilisée comme illustré au début de cette page :

SORT <DEMO.TXT

Une fois que l'utilisateur a entré cette commande, SORT trie le fichier DEMO.TXT puis affiche le fichier à l'écran. Cet affichage serait beaucoup plus lisible en format page. Une sortie formatée peut être implémentée en redirigeant la sortie de SORT vers un fichier (par exemple TEMP.TXT) et en affichant ce fichier à l'aide de la commande MORE. La séquence de commandes suivante le fait :

SORT <DEMO.TXT >TEMP.TXT
MORE <TEMP.TXT

Vous pouvez utiliser un tube pour connecter le filtre SORT et le filtre MORE, ce qui permet à l'utilisateur de gagner du temps lors de la saisie. La ligne de commande suivante envoie la sortie de SORT directement à MORE et affiche immédiatement le fichier trié au format page :

SORT <DEMO.TXT | MORE

N'importe quel nombre de filtres peut être connecté à l'aide de tuyaux. Le DOS exécute toujours ces filtres en pipeline de gauche à droite. Il envoie la sortie du premier programme en entrée au deuxième programme, la sortie du deuxième programme en entrée au troisième programme,... Le dernier programme peut à nouveau forcer la redirection de la sortie avec le caractère > afin que le résultat final du tout le programme ou la chaîne de filtres se déplace vers un fichier ou un autre périphérique au lieu de l'écran.

Remarque : Le DOS ne peut pas envoyer de données d'un filtre directement à un autre car il devrait exécuter les deux filtres simultanément, et la version actuelle de DOS n'a pas de capacités de multitraitement. Au lieu de cela, la méthode suivante est utilisée. L'entrée appelle le premier filtre et redirige sa sortie vers un fichier de tuyau. Une fois que le premier filtre a terminé son traitement, il appelle le second filtre mais redirige son entrée vers le fichier de tuyau pour lire la sortie du premier filtre. Ce principe s'applique à tous les filtres. Le fichier de tuyau est entreposé dans le répertoire de travail courant.

Le mot "vider" est un mot à la mode informatique pour un moyen d'afficher le contenu d'un fichier en caractères ASCII et/ou en nombres hexadécimaux.



PARTAGER CETTE PAGE SUR
Dernière mise à jour : Lundi, le 23 janvier 2023