English version here.

Utilitaires de fichiers
Outils de recherche textuelle
Convertisseurs de fichiers texte
PigLatin : text entropy software
Le chercher-remplacer ultime

Code source C pour gérer les noms de fichiers longs
Le GETOPT final.

Ecrire à l'auteur
Cher visiteur, vous êtes le bienvenu de télécharger les logiciels de ce site et d'en faire ce que vous voulez SAUF les redistribuer ou les rediffuser par un quelconque moyen (Web, Intranet, CD-ROM, bundlés avec vos propres logiciels, etc.) sans mon autorisation expresse (mais naturellement je serai heureux de faire des affaires avec vous).
Tous droits réservés par Mon Altesse.
En revanche si vous mettez un lien vers cette page (et que vous me le dites) vous aurez droit à un lien réciproque (on est quand même poli) dans la rubrique "Spécial copinage" à la fin de cette page.

Les Utilitaires ("Console toys")

Versions de mars 2002.

Optins communes à tous les utilitaires


Utilitaires de fichiers

AP : APplique la commande indiquée dans chaque sous-répertoire

Semblable à SWEEP ou une option UNIX -s, mais applicable à n'importe quelle commande.
Parcourt tous les sous-répertoires du répertoire actuel, et applique la commande indiquée après ap sur la ligne de commande.
Options of D:\bin\AP.EXE:                                    [default values]
Directory scanning options : ------------------------------------------------
DD: Search on all drives                                                [OFF]
S: Also search subdirectories                                           [OFF]
XD: Directory to exclude from search                                     [""]
SP: Starting directory                                                   [""]
FM: File mask (*.HTM, text??.*, etc.)                                 ["*.*"]
A1: Stop at first find                                                  [OFF]
Essayez ap del *.* /Y :-).
Cliquez ici. Taille : 40 kO.

DelZero : Supprime les fichiers vides

Supprime récursivement tous les fichiers de longueur 0, dans le répertoire présent et ses sous-répertoires.
Cet utilitaire ne demande pas d'argument mais vous pouvez indiquer un path de départ. Confirmation est demandée avant chaque effacement. Si /a (auto), pas de confirmation.
Cliquez ici. Taille : 35 kO.

DF : Taille de chaque répertoire

"Unix-like", semblable à la commande UNIX df.
Affiche la liste de tous les sous-répertoires (1er niveau seulement) du répertoire actuel, avec la taille des fichiers contenus dans chacun.
Cet utilitaire n'exige pas d'argument, mais vous pouvez préciser un répertoire de départ si besoin.
DF /ext vous fournit en plus le catalogue des extensions de fichiers rencontrés dans les sous-répertoires.
Exemple de résultat du lancement de DF d:\ /ext :
32768 bytes/cluster on D:.
D:\BELFRY  :    187 kO,   1 Ds,  212 F,   6596 kO slack, 97% waste.
D:\BIN     :   5617 kO,   1 Ds,  153 F,   3054 kO slack, 35% waste.
D:\BIN95   :    755 kO,   1 Ds,   23 F,    556 kO slack, 42% waste.
D:\C       :  78733 kO, 198 Ds, 1483 F,  37522 kO slack, 32% waste.
D:\DOCUMENT: 112821 kO,  85 Ds, 2538 F,  59338 kO slack, 34% waste.
D:\DOS     :   5723 kO,   1 Ds,  131 F,   2532 kO slack, 31% waste.
D:\RELEASE :  35921 kO,  14 Ds,  472 F,  11598 kO slack, 24% waste.
D:\SRC     : 113730 kO, 209 Ds, 5196 F, 134205 kO slack, 54% waste.
D:\TMP     :     18 kO,  13 Ds,  247 F,   7885 kO slack, 100% waste.
D:\TOOLS   :  24639 kO,  48 Ds,  542 F,  12608 kO slack, 34% waste.
D:\VRAC    :      0 kO,   1 Ds,    0 F,      0 kO slack, 0% waste.
D:\WEBTOOLS:  27491 kO,  56 Ds, 1446 F,  40476 kO slack, 60% waste.
D:\RELAUTO : 238656 kO, 414 Ds, 5249 F, 136031 kO slack, 36% waste.
D:\TEMP    :      0 kO,   1 Ds,    0 F,      0 kO slack, 0% waste.
En tout: 1125 Dossiers, 23264 Fichiers, total 1176732 kO, total slack 581795 kO.

obj:3057   exe:468    mak:378    lib:284    lnk:229    map:229    err:176
lbk:128    res:77
En tout: 394 dirs, 5414 files, total 221732 KB.
Pour voir si une arborescence tiendra sur un CD-ROM, fixez la taille à 2048.
Cliquez ici. Taille : 50 kO.

FileType : Analyse du contenu d'un fichier

Affiche le type de contenu (texte DOS, texte Win, texte Unix ou binaire) du ou des fichiers dont les noms sont indiqués.
Cliquez ici. Taille : 50 kO.

Fold : "plie" les lignes trop longues

Semblable à la commande UNIX fold.
Brise les lignes plus longues que 80 chars (entre deux blancs si possible) dans le(s) fichier(s) indiqué(s), dans le répertoire présent et ses sous-répertoires. Pratique pour ces fichiers HTML aux lignes interminables. La prochaine version évitera les coupures faites à l'intérieur d'un tag.
Cliquez ici. Taille : 50 kO.

FSize : File Size Finder

Affiche (avec leur chemin complet) tous les fichiers dont la taille est supérieure à la valeur indiquée par vous, (option /T ) dans le répertoire présent et ses sous-répertoires.
Si vous lancez FSize avec l'option /Mul (exemple: FSize /T4096 /Mul), seuls les fichiers ayant une taille multiple de celle indiquée seront affichés.
A quoi cela sert-il ? Eh bien, c'est très utile pour repérer les fichiers tronqués à un nombre de clusters rond par CHKDSK ou SCANDISK. L'option /Eff sert à les effacer automatiquement.
Cliquez ici. Taille : 50 kO.

HEAD : Extrait les premières lignes d'un fichier

Semblable à la commande UNIX head.
Extrait le nombre de lignes indiqué du début du fichier indiqué, dans le répertoire présent et ses sous-répertoires.
Exemple : HEAD *.htm 10 > zz.tmp rassemble les 10 premières lignes de chaque fichier *.HTM dans un fichier unique zz.tmp.
/P fait une pause après chaque fichier ; /SFN affiche le nom de chaque fichier juste avant les lignes extraites.
Cliquez ici. Taille : 50 kO.

NCD : 'Nother Change Directory

Mon bon vieux Norton Change Directory (© 1988…) s'est étranglé sur un disque ayant 15 000 répertoires, cette mauviette. On pompe pas de sites Web chez Norton ? Alors j'ai été obligé de faire comme d'habitude quand je veux que ça soit bien fait : je l'ai réécrit moi-même.

Aucune limite de taille, contrairement par exemple à ACD (houh !). J'ai repris le comportement de Norton CD, notamment, si vous tapez plusieurs fois "NCD TMP", NCD vous baladera dans tous les répertoires TMP du disque tour à tour. Vous ne restez pas bloqué sur le premier.

Egalement, le disque est rebalayé automatiquement si NCD est lancé depuis un répertoire créé depuis le dernier balayage ou depuis son parent. Et bien sûr, j'ai ajouté la recherche floue comme d'habitude, bien pratique aussi pour les fautes de frappe qui sont ainsi "pardonnées" (Norton allait simplement dans le répertoire ayant le plus long début commun).
Un exemple d'utilisation :

e:\>n d:dzailybld
NCD 4.4. Changing drive to D:… Loading D:\ncd.ncd… 1504 paths, 769 kB.
NCD - No exact match for "dzailybld" on D:, closest match : "dailybld\".
Changing (fuzzy) to \dailybld\.
Current drive and directory are D:\DAILYBLD.

NCD /r rebalaie le disque présent
Bientôt aussi, l'indexation des CD-ROMs.
Cliquez ici. Taille : 50 kO.

qSORT : Trie les lignes d'un fichier par ordre alphabétique

Maxi 2 000 000 lignes ! Et ordre lexicographique à la française, avec les lettres accentuées à leur place et tout. Cocorico ! Attention, le fichier trié écrase sauvagement le fichier originel, sauf si vous utilisez l'option /dst. QSort vous permet aussi de trier les fichiers de données à séparateurs selon le champ de votre choix, et aussi de trier à partir d'une certaine colonne.
Options of D:\bin\QSORT.EXE:                                   [default values]
Options de tri : --------------------------------------------------------------
  Fra: Trier selon l'ordre alphabétique du français                        [ON]
  IC: Trier Indépendamment de la Casse (mélanger Min/Maj)                 [OFF]
  Freq: Trier par fréquence décroissante (et non par ordre alpha)         [OFF]
  Long: Trier par longueur décroissante de chaque ligne ou champ          [OFF]
  Num: Trier par valeur numérique décroissante                            [OFF]
  Inv: Trier par valeur décroissante                                      [OFF]
  Fuz: Trier pour dédoublonnage                                           [OFF]
  Fld: Trier selon champ (+ numéro champ 1..n)                              [0]
  Sep: Séparateur de champ (9=<Tab>)                                        [;]
  Col: Trier selon colonne (+ numéro colonne 1..n)                          [0]
  LgT: Trier sur nombre de chars indiqué (+ nb chars 1..n)                  [0]
  G: Nombre de premières lignes du fichier à laisser en place               [0]
  Rand: Randomiser (mettre les lignes dans un ordre aléatoire)              [0]
  DST: Nom du fichier de destination (sinon écrase; pas de * ou ?)         [""]

Directory scanning options : --------------------------------------------------
  Path: Starting directory                                                 [""]
  Mask: File mask (*.HTM, text??.*, etc.)                               ["*.*"]
  DD: Search on all drives                                                [OFF]
  S: Also search subdirectories                                           [OFF]
  XD: E<X>clude <D>irectory (to ignore OLD or BACKUP)                      [""]
  N: <N>ombre maximum de remplacements (0=tout remplacer)                   [0]

Cliquez ici. Taille : 50 kO.

TAIL : Extrait les dernières lignes d'un fichier

Semblable à la commande UNIX tail.
Extrait le nombre de lignes indiqué de la fin du fichier indiqué, dans le répertoire présent et ses sous-répertoires. Exemple : TAIL *.htm 10 > zz.tmp rassemble les 10 dernières lignes de chaque fichier *.HTM dans un fichier unique zz.tmp. TAIL -10 sortirait toutes les lignes sauf les 10 premières.
Cliquez ici. Taille : 50 kO.

Uniq : Trie les lignes d'un fichier puis élimine les doublons

Semblable à la commande UNIX sort.
Exactement comme qSORT sauf qu'il retire les doublons en plus. Attention, le fichier trié écrase sauvagement le fichier originel.
Options of D:\bin\UNIQ.EXE:                                  [default values]
Options de tri : ------------------------------------------------------------
Freq: Trier par fréquence décroissante (et non par ordre alpha)         [OFF]
FrMin: Fréquence minimale affichée                                        [0]
FrMax: Fréquence maximale affichée                                        [0]
Long: Trier par longueur décroissante de chaque ligne ou champ          [OFF]
Num: Trier par valeur numérique décroissante                            [OFF]
Inv: Trier par valeur croissante                                        [OFF]
Fld: Trier selon champ (+ indice champ 1..n)                              [0]
Sep: Séparateur de champ (9=<Tab>)                                        [9]
Col: Trier selon colonne (+ indice début zone 1..n)                       [0]
Options d'affichage : -------------------------------------------------------
CNT: Afficher sa fréquence après chaque occurrence                      [OFF]
G1: Laisser la première ligne du fichier en place                       [OFF]
DST: Nom du fichier de destination (sinon écrase; pas de * ou ?)         [""]
Travaillez sur des copies !
Cliquez ici. Taille : 50 kO.

XTRACT : Extrait d'un fichier

...tout ce qui se trouve entre deux marqueurs (que vous indiquez), ou bien un champ donné (vous devez préciser quel est le séparateur). Par exemple xtract *.htm "<img" ">" vous sortira la liste de toutes les images mentionnées sur vos pages Web. Une habile de combinaison de cet outil avec les autres vous permet de générer automatiquement des listes de références, d'images utilisées, etc., et d'éviter l'accumulation de fichiers inutiles.
Aussi utile pour extraire une colonne (ou toutes) d'un fichier à séparateurs.
Options of D:\bin\XTRACT.EXE:                                [default values]
Options de xtract:                                          [valeurs actuelles]
  FldAll: Eclater tous les champs en fichiers séparés                     [NON]
  Fld: Extraire champ (+ numéro du champ)                                   [0]
  Col: Extraire à partir de colonne (+ numéro colonne)                      [0]
  Lg: Extraire le nombre de caractère indiqué (+ nombre)                    [0]
  Sep: Séparateur de champ (9=<Tab>)                                      ["9"]
  DST: Nom du fichier de destination du texte extrait (ou utilisez /Ec)    [""]
  INF: Insérer le nom du fichier et le N° de ligne avant les extraits (avec /Dst)[NON]
  Ec: Retire le texte entre les marqueurs du fichier originel             [NON]
  SL: Les marqueurs sont sur la même ligne                                [NON]
  NBL: Gérer les sauts de pages                                             [0]
Xtract extrait aussi les champs de fichiers à séparateurs, et l'option /FldAll éclate un fichier de données à colonnes en plusieurs fichiers field001.dat, field002.dat, etc. contenant chacun une colonne. /Fld suivi de l'indice du champ (de 1 à N) extrait une seule colonne. Si le séparateur de champ n'est pas <Tab>, vous devez l'indiquer (option /Sep).
Dans les autres cas, si vous indiquez /Ec le fichier sera écrasé ; si vous indiquez /Dst suivi d'un nom de fichier, le résultat sera envoyé dans le fichier indiqué. Si vous tapez XTRACT *.htm "<a href" "</a", vous obtiendrez la liste des images contenues dans les fichiers HTML du répertoire.
C'est aussi très utile pour retraiter les pages Web des petits malins qui veulent vous empêcher de voir où vous emmène un lien : XTRACT *.htm "<style>" "</style>" /ec et XTRACT *.htm "<script>" "</script>" /ec supprimeront du fichier tous les scripts et tous les styles. C'est très commode dans la pratique.
Pour le programmeur, il devient possible d'extraire tous les fragments de code compris (par exemple) entre "#ifdef MY_NEW_MODIF" et "#endif" (attention toutefois aux #if imbriqués : XTRACT ne va pas jusqu'à analyser le code et s'arrêtera au premier #endif rencontré). L'option /INF vous sera alors utile pour préfixer chaque fragment extrait de son origine (nom du fichier et n° de ligne)
Si les marqueurs recherchés sont toujours sur la même ligne il est utile de le préciser (option /sl). Ajoutez à cela l'usage de SORT ou UNIQ et vous pouvez savoir très vite ce que contient un fichier, même énorme.
Cliquez ici. Taille : 50 kO.

Outils de recherche textuelle

CDVIEW : Banque de données de CD-ROMs

CDVIEW est l'outil qui rend enfin gérables les CD-ROMs de shareware, du moins ceux qui contiennent des fichiers du style 00_INDEX.txt ou *.DIR ou 00files.lst, qui décrivent le contenu de chaque répertoire. (CDVIEW reconnaît une demi-douzaine de formats).
Dans la pratique ça veut dire que (après une manip' simple) ces fichiers (les index, pas l'ensemble du CD-ROM) sont transvasés sur mon disque dur, et ensuite à chaque fois que j'en ai besoin, je balaie les index de 15 CD-ROMs d'un seul coup (et rapidement).
Ensuite je coche ce que je veux et CDVIEW me demande chaque CD-ROM une seule fois, recopie chaque élément que j'ai choisi dans un répertoire différent, me les décompresse et me fait presque un petit café après. J'aime tellement CDVIEW qu'il a droit à sa propre page :
CDVIEW.HTM. La page est en anglais mais si vous ne comprenez pas, tant pis pour vos faces, il fallait mieux travailler à l'école.

FFF : Fuzzy File Finder - Recherche floue de nom de fichier

Affiche (avec leur chemin complet) tous les fichiers dont le nom ressemble au nom indiqué, dans le répertoire présent et ses sous-répertoires.

Exemple de résultat du lancement de fff head :
D:\C\CTOOLS\GIMPEL\READ.ME
D:\DOCUMENT\ZPERSO\ZED.DOC
D:\bin\HEAD.ZIP
D:\bin\HEAD.EXE
D:\EXECS\HEAD.EXE
D:\NT\FREEZIPS\HEAD.ZIP
(etc.)
D:\TOOLS\GRAPH\VIEWERS\VPIC\AHEADB.CFG
D:\WEBTOOLS\NETSCAPE\COMMUN~1\PROGRAM\NETHELP\HEADER.JS
D:\RELAUTO\REL32\RDIVRS32\HEAD32\HEAD.OBJ
D:\RELAUTO\REL32\RDIVRS32\HEAD32\HEAD32.EXE

Cliquez ici. Taille : 60 kO.

Convertisseurs de fichiers texte

Nouveau ! Toutes les conversions passent maintenant par Unicode. Du coup tout est unifié et je vais bientôt pouvoir tout mettre sous le même toit, avec les conversions croisées de et vers les 5 formats. Quel luxe ! With many thanks to
Jukka Korpela, who knows everything & then some about character sets.

TXT2HTML : Convertisseur Texte->HTML

TXT2HTML transforme un fichier texte ordinaire en fichier *.htm, en insérant les marqueurs de base (HEAD, TITLE, BODY, etc.) s'ils ne sont pas déjà présents et en transformant les lettres accentuées (OEM ou ANSI, détectés automatiquement).

Il existe plusieurs options de mise en pages :

Lors de la première conversion :

Lors des conversions suivantes :

Options of D:\bin\TXT2HTML.EXE:                              [default values]
Options de mise en forme : --------------------------------------------------
AS: Accents seulement (sinon rajoute des tags HTML si besoin)           [OFF]
OB: Produce obfuscated HTML                                             [OFF]
BR: Insérer des <BR>s à la fin de chaque ligne                          [OFF]
P: Insérer des <P>s au début de chaque ligne                            [OFF]
PLV: Insérer des <P>s après chaque <L>igne <V>ide                       [OFF]
PRE: Include whole text between <PRE> and </PRE>                        [OFF]

Autres options : ------------------------------------------------------------
Aff: Afficher les options et confirmer avant de commencer               [OFF]
Font: Police de caractère de la page / Font name        ["Verdana,Helvetica"]
Size: Taille de la police de caractère de la page / Font size             [0]

Contenus à insérer (chacun 500 chars maxi) : --------------------------------
KWDS: Mots-clé (tag META "Keywords")                                     [""]
Desc: Description (tag META "Description")                               [""]
Titre: Titre (sinon prend la première ligne ou le nom du fichier)        [""]
Haut: Texte à insérer au tout début du corps du texte ("BODY")           [""]
Bas: Texte à insérer tout en bas du corps du texte ("BODY")              [""]
Convenez que je m'occupe bien de vous !
TXT2HTML détecte la présence des tags HTML et ne les rajoutera jamais 2 fois.
Convient aux jeux de caractères DOS et Windows (détection automatique).
Cliquez ici. Taille : 50 kO.

HTML2TXT : Convertisseur HTML->Texte normal

L'inverse du précédent : Transforme un fichier HTML en fichier *.txt (jeu de caractères Windows "ISO-8859-15", celui où il y a l'euro, en retirant les tags HTML et en changeant les lettres accentuées. L'option /DOS vous crée du texte au jeu de caractères DOS ("PC-8" alias "Latin" alias "OEM").
L'extension .htm est implicite.
Cliquez ici. Taille : 75 kO.

Unix2DOS : Convertisseur Unix->DOS

Transforme un fichier où le caractère de fin de ligne est ASCII 10 en un avec la paire 13+10 à la DOS. Le jeu de caractères n'est pas modifié.
Cliquez ici. Taille : 50 kO.
L'inverse: Cliquez ici. Taille : 50 kO.

ANSI2OEM : Convertisseur Windows->DOS (jeu de caractères DOS ou "OEM")

Transforme un fichier où les lettres accentuées sont au style Windows ("ANSI") en un où celles-ci sont traduites en leurs équivalents DOS.
Cliquez ici. Taille : 50 kO.
L'inverse: Cliquez ici. Taille : 50 kO.

PigLatin.exe

Programme de calcul d'entropie de textes (c'est chic hein !) qui peut aussi créer du texte "à la manière de" (option /Gen). On appelle aussi ça un "singe dactylographe". D'après une idée de Jacques GUY, publiée dans Glottometrika (Jacques Guy, "Fast high-order monkeys and a fast algorithm for calculating high-order character entropies", v12, 1990, pp. 125-130) (avec plein d'erreurs de calcul… Répare ta calculette, Jacquouille la Bidouille !). Voir aussi l'article de Robert French traduit dans "Pour la Science" (Juin 1987).
Usage: PigLatin <fichier{.txt}> {option(s)}. PigLatin ? to see the options.
Options of PigLatin.EXE:                                     [default values]
O: Ordre (1..n) Ordre N = voisinage de longueur N-1                       [6]
All: Balayer tous les ordres de 0 à (+ valeur)                       [OFF,50]
BdC: Transcrire en bas de casse (minuscules)                            [OFF]
Acc: Désaccentuer                                                       [OFF]
SL: Retirer les sauts de lignes                                          [ON]
P: Pause après l'analyse                                                [OFF]
V: bavard ou pas                                                        [OFF]
SV: Sauvegarder la table d'entropie produite                            [OFF]
LD: Charger une table d'entropie au lieu d'analyser un texte            [OFF]
Gen: Générer texte "à la manière de" (+longueur en chars)           [OFF,800]
Exemple de l'option /Gen (Générer du texte) :
ally mathematics reply that of customs oppose all always one's hair, we must not connection far as to whom we sees and in it opened people.- Curiosity in the most general will be within us. So we diseases youths indeed to study, he will tended as about a few truth. Everything stops to have in a states, or a time of find that the quarry. Hence and us but for the more occasion of it because for him; he is happily false beast sphere, although cowards rest, and body, the would be use it is only unhinge the most debauchery, in this pride; that regarding spaces which binds that person in greates his kind offend of walk stranged in this religion no limits to do not shame in that it is there ignorant." And which health cannot do so far or though lack heart. 257. The rest and this boon. On the phi.
Le texte de départ est une traduction anglaise des Pensées de Pascal.
Selon la langue du texte de départ, vous obtiendrez du latin de cuisine, du yaourt ou du bolo-bolo.
Cliquez ici. Taille : 50 kO.

Spécial copinage :

Plein de bon freeware francophone chez Alain Laroche
Et aussi chez Pressibus
Ainsi que chez Mégagiciel
et chez Hub
Les console toys de Steve Miller sont presque aussi bien que les miens !

Retour à la page d'accueil / Back to home page