Inserstion lignes vides en batch dos
Résolu/Fermé
jopoiss
Messages postés
104
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
7 janvier 2011
-
5 juin 2008 à 09:57
mimi - 10 nov. 2016 à 16:26
mimi - 10 nov. 2016 à 16:26
A voir également:
- Echo saut de ligne batch
- Site de vente en ligne particulier - Guide
- Saut de ligne excel - Guide
- Partage de photos en ligne - Guide
- Hors ligne instagram - Guide
- Saut de ligne chatgpt - Forum Réseaux sociaux
6 réponses
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
6 juin 2008 à 12:20
6 juin 2008 à 12:20
Bonjour,
Essaie cela, ça doit correspondre à ton attente, je l'espère du moins !
Pour activer le batch tu saisis son nom dans l'invite de commandes suivi de la chaîne de caractères à localiser.
Essaie cela, ça doit correspondre à ton attente, je l'espère du moins !
Pour activer le batch tu saisis son nom dans l'invite de commandes suivi de la chaîne de caractères à localiser.
@SETLOCAL ENABLEDELAYEDEXPANSION MODE CON COLS=150 LINES=90 ECHO OFF CLS ECHO. ECHO. ECHO %0. ECHO. FOR /L %%I IN (3,-1,0) DO @echo. ECHO _________________________________________________ ECHO. ECHO %0 %1 %2 Le %DATE% à %TIME% ECHO _________________________________________________ ECHO. TITLE %0 RCHERCHE CHAINE DE CARACTERES ET INSERTION DE LIGNES BLANCHES CD C:\Documents and Settings\christian\Mes Documents\BATCH_files rem fichier en entrée contenant le texte à analyser. SET "testIN_txt=%USERNAME%-testIN.txt" rem fichiers intermédiaires de travail SET "testINT_txt=%USERNAME%-testINT.txt" SET "testINTB_txt=%USERNAME%-testINTB.txt" IF EXIST %testINT_txt% ( ERASE /A %testINT_txt%) IF EXIST %testINTB_txt% ( ERASE /A %testINTB_txt%) rem Numérotage des lignes de texte du fichier en INPUT recopié. SET /A "calcul=10001" FOR /F "tokens=1-1* delims=$" %%I in ( %testIN_txt% ) DO ( ECHO !calcul!#%%I >> %testINT_txt% SET /A "calcul=calcul+10" ) rem -Recherche dans le fichier la chaine de caractères à localiser SET "loc_chaine=%1" FOR /F "tokens=1,1 delims=:#" %%I IN ( ' TYPE %testINT_txt% ^| FINDSTR /I %loc_chaine%' ) DO ( SET /A "calcul=%%I+1" ECHO !calcul!# ligne blanche a inserer >> %testINT_txt% ) rem -Tri des lignes du fichier intermédiaire afin de les fusionner. SORT /+1 /M 1024 /REC 256 %testINT_txt% /O %testINTB_txt% rem Je n'ai délibérément pas recréer le fichier d'origine testIN_txt par rem précaution à toi de voir ! ERASE /A %testINT_txt% rem -Elimination de la partie générique de chaque ligne (numérotation rem et délimiteur #) du nouveau fichier. FOR /F "tokens=2,3* delims=#" %%i in ( %testINTB_txt% ) DO ( rem affichage à l'écran pour test ECHO %%i%%j %testINT_txt% ECHO %%i%%j >> %testINT_txt% )
jopoiss
Messages postés
104
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
7 janvier 2011
16
6 juin 2008 à 09:25
6 juin 2008 à 09:25
Re, personne ne peut m'aider?
jopoiss
Messages postés
104
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
7 janvier 2011
16
6 juin 2008 à 13:45
6 juin 2008 à 13:45
C'est bon j'ai trouvé de moi même avec un if impliqué dans un for.
Mais merci quand même de t'être penché sur mon problème.
Bonne journée.
Mais merci quand même de t'être penché sur mon problème.
Bonne journée.
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
6 juin 2008 à 18:15
6 juin 2008 à 18:15
Merci pour le retour. Peux-tu poster ta solution ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jopoiss
Messages postés
104
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
7 janvier 2011
16
7 juin 2008 à 14:10
7 juin 2008 à 14:10
FOR /f "tokens=1-10" %%a IN (temp4.txt) DO (
if %%e EQU in ( echo %%a %%b %%c %%d %%e %%f %%g %%h %%i %%j
echo.
echo. ) else ( echo %%a %%b %%c %%d %%e %%f %%g %%h %%i %%j )
) >> "ACL switch L3 modifi‚ prˆt.txt"
erase temp4.txt
Voila. Bonne journée.
if %%e EQU in ( echo %%a %%b %%c %%d %%e %%f %%g %%h %%i %%j
echo.
echo. ) else ( echo %%a %%b %%c %%d %%e %%f %%g %%h %%i %%j )
) >> "ACL switch L3 modifi‚ prˆt.txt"
erase temp4.txt
Voila. Bonne journée.
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
7 juin 2008 à 23:47
7 juin 2008 à 23:47
Bonsoir,
Merci, c'est trop fort pour moi, je n'ai pas compris,
Merci, c'est trop fort pour moi, je n'ai pas compris,