Retour
Denis ZIEGLER
denis.ziegler@worldonline.com

Mars 1999

 

MajFTxt v1.02

Mise à jour de fichiers texte

 

Sommaire

 

Présentation

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.

Retour au sommaire

 

Syntaxe

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.

Retour au sommaire

 

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 ».

Retour au sommaire

 

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 [

  • [? remplace un caractère quelconque. Ex : ME[?A s'applique à META, MESA, etc...
  • [* remplace une suite de caractères quelconques. Ex : SET PATH [* s'applique à toute ligne commençant par SET PATH ; [*BTRIEVE[* s'applique à toute ligne contenant le mot BTRIEVE.
  • [[ doit être utilisé pour utiliser le caractère [ dans la ligne de recherche
[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.

 

Retour au sommaire

 

Exemple

 

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

Retour au sommaire