Denis ZIEGLER denis.ziegler@worldonline.com |
Mars 1999 |
MajFTxt v1.02
Mise à jour de fichiers texte
Sommaire
MajFTxt est un logiciel destiné à faire des opérations de mise à jour sur des fichiers texte, tels les fichiers batch, fichiers d'initialisation, scripts, etc...
Il s'agit d'un programme DOS, utilisable en ligne de commande. Il peut donc être utilisé soit en mode interactif, soit dans le cadre de fichiers de commande batch ou de scripts de mise à jour, en monoposte ou en réseau.
Les opérations de mise à jour possibles sont les suivantes :
La liste des modifications à réaliser doit être consignée dans un fichier de commande dont le nom est passé en paramètre au programme.
MajFTxt est écrit en Borland C++ 5.0, conformément à la norme ANSI. Il peut donc être utilisé sur d'autres plate-formes (Unix en particulier) après recompilation.
Pour connaître les conditions d'utilisation de ce logiciel, consultez la licence.
MAJFTXT [Options] <nom fichier source> <nom fichier commande>
Options (facultatif) :
-b crée une copie de sauvegarde du fichier modifié (extension BAK)
-l crée un fichier de trace des opérations effectuées (extension LOG)
-i ignore les différences minuscules/majuscules lors de comparaisons
Plusieurs options peuvent être regroupées (ex : -li)
<nom fichier source> : Nom du fichier à modifier, y compris le chemin d'accès.
<nom fichier commande> : Nom du fichier contenant les commandes de modification, y compris le chemin d'accès.
Les fichiers trace et de sauvegarde sont crées dans le répertoire courant.
Format du fichier de commandes
Il s'agit d'un fichier de format texte, contenant la liste des commandes de modification à apporter au fichier source.
Chaque commande se présente sous la forme d'une ligne comprenant un mot-clé entre crochets, suivi d'une ou deux lignes de paramètres.
Exemple :
[RemplaceL] SET REPPRI=C:\PRI SET REPPRI=C:\TACITEP3\PRI
Cette commande remplace la ligne « SET REPPRI=C:\PRI » par la ligne « SET REPPRI=C:\TACITEP3\PRI ».
Liste des commandes :
Remarque Les lignes de texte à chercher (Lgn1) peuvent contenir des caractères génériques, précédés du caractère [
|
[SupprL] Lgn1
Supprime la ligne Lgn1.
[AjoutLD] Lgn1
Ajoute la ligne Lgn1 en début de fichier.
[AjoutLF] Lgn1
Ajoute la ligne Lgn1 en fin de fichier.
[InserL] Lgn1 Lgn2
Insère la ligne Lgn1 avant Lgn2.
[RemplL] Lgn1 Lgn2
Remplace la ligne Lgn1 par la ligne Lgn2.
[RemplCh] Txt1 Txt2
Remplace le texte Txt1 par Txt2. Cette commande n'affecte qu'un mot ou une portion de ligne.
[SupprCh] Txt1
Supprime les occurrences du texte Txt1.
[AjoutPath] Chem1
Commande spécifique aux intructions PATH : ajoute le chemin d'accès Chem1 dans l'instruction PATH.
[SupprPath] Chem1
Commande spécifique aux intructions PATH : supprime le chemin d'accès Chem1 de l'instruction PATH.
[CommentOn] Lgn1 IndComment
Place l'indicateur de commentaire IndComment (par exemple rem
ou ;) avant la ligne Lgn1, avec un espace intermédiaire.
L'indicateur de commentaire doit être placé entre guillemets.
[CommentOff] Lgn1 IndComment
Ote l'indicateur de commentaire IndComment placé en tête de
la ligne Lgn1, ainsi que les espaces qui suivent.
L'indicateur de commentaire doit être placé entre guillemets.
Ligne de commande :
majftxt -bli autoexec.bat fcmdes.txt
Fichier à modifier (autoexec.bat) :
rem c:\PGMS\UTI\ACCESS\MCAFEE\SCANPM.EXE C:\ R:\NETCFG\ rem @IF ERRORLEVEL 1 PAUSE SET DELTA=D:\FLORE\DELTA SET CONFOR=CONFORQW SET DELFOR=DELFORQW SET DIST=DISTQW SET KEY=KEYQW SET INTKEY=INTKEY5 SET DJGPP=C:\PGMS\DVT\DJGPP\DJGPP.ENV SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\;C:\PGMS\DVT\DJGPP\BIN;F:\LINUX; SET PATH=%PATH%D:\FLORE\DELTA;C:\PGMS\DVT\BC5\BIN;C:\PGMS\DVT\CBUILDER\CBUILDER\BIN mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi) mode con codepage select=850 keyb fr,,C:\WINDOWS\COMMAND\keyboard.sys c:\windows\command\doskey.com c:\dos\uti\ficalea.exe /M=*.bmp /S=c:\windows\images /D=c:\windows /N=bureau.bmp R:\NETCFG\login.bat
Fichier de commandes (fcmdes.txt) :
#Exemple de fichier de commandes pour MAJFTXT [AjoutLD] # Ajoute la ligne indiquee en debut de fichier call C:\MS\SMS\DATA\client.bat [AjoutLF] # Ajoute la ligne indiquee en fin de fichier c:\connect\internet.bat [SupprL] # Supprime la ligne indiquee SET KEY=KEYQW [InserL] # Insere la ligne SET BRYO... avant la ligne SET DELTA... SET BRYO=D:\FLORE\BRYO SET DELTA=D:\FLORE\DELTA [RemplL] # Remplace la(es) ligne(s) contenant doskey.com par c:\dos6\doskey.com [*doskey.com[* c:\dos6\doskey.com [RemplL] # Remplace la(es) ligne(s) ...INTKEY suivi d'un car. quelconque par la deuxieme SET INTKEY=INTKEY[? SET INTKEY=INTKEY6 [RemplCh] # Remplace la premiere sous-chaine par la deuxieme dans toutes les lignes D:\FLORE E:\FLORE [SupprCh] # Supprime la sous-chaine indiquee dans toutes les lignes R:\NETCFG\ [SupprPath] # Supprime le chemin d'acces indique C:\PGMS\DVT\BC5\BIN [AjoutPath] # Ajoute le chemin d'acces indique E:\FLORE\BIN [CommentOn] # Marque en commentaire avec un point-virgule la(es) ligne(s) commencant par mode mode[* ";" [CommentOff] # Enleve le commentaire rem de toutes les lignes [* "rem"
Fichier après modification (autoexec.bat) :
call C:\MS\SMS\DATA\client.bat c:\PGMS\UTI\ACCESS\MCAFEE\SCANPM.EXE C:\ @IF ERRORLEVEL 1 PAUSE SET BRYO=E:\FLORE\BRYO SET DELTA=E:\FLORE\DELTA SET CONFOR=CONFORQW SET DELFOR=DELFORQW SET DIST=DISTQW SET INTKEY=INTKEY6 SET DJGPP=C:\PGMS\DVT\DJGPP\DJGPP.ENV SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\;C:\PGMS\DVT\DJGPP\BIN;F:\LINUX;E:\FLORE\BIN SET PATH=%PATH%E:\FLORE\DELTA;C:\PGMS\DVT\CBUILDER\CBUILDER\BIN; ; mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi) ; mode con codepage select=850 keyb fr,,C:\WINDOWS\COMMAND\keyboard.sys c:\dos6\doskey.com c:\dos\uti\ficalea.exe /M=*.bmp /S=c:\windows\images /D=c:\windows /N=bureau.bmp login.bat c:\connect\internet.bat
Fichier trace (autoexec.log) :
MAJFTXT v1.0 - Mise a jour de fichiers texte ZIEGLER Denis - denis.ziegler@worldonline.fr Sun Mar 28 03:29:51 1999 Fichier source : autoexec.bat Fichier de commande : Fcmdes.txt Sauvegarde du fichier source : autoexec.bak Ignore différence min/maj Ligne ajoutee en début de fichier : call C:\MS\SMS\DATA\client.bat Ligne ajoutee en fin de fichier : c:\connect\internet.bat Ligne supprimee : SET KEY=KEYQW Ligne inseree : SET BRYO=D:\FLORE\BRYO Ligne remplacee : c:\windows\command\doskey.com Ligne remplacee : SET INTKEY=INTKEY5 Chaine remplacee 3 fois : D:\FLORE Chaine supprimee 2 fois : R:\NETCFG\ Chemin d'acces supprime : C:\PGMS\DVT\BC5\BIN; Chemin d'acces rajoute : E:\FLORE\BIN Ligne commentee : mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi) Ligne commentee : mode con codepage select=850 Ligne de-commentee : c:\PGMS\UTI\ACCESS\MCAFEE\SCANPM.EXE C:\ Ligne de-commentee : @IF ERRORLEVEL 1 PAUSE