Script pour la récupération d'une partie d'un fichier
Résolu
Blaster225
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
Blaster225 Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Blaster225 Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
je suis débutant en scripts et je cherche un script pour copier une partie d'un fichier. Par exemple, si j'ai ceci:
hghfghdgfd
ioezuztgbvq
Debut
dhjfhdjhd
djfhjdhjfdj
bjdvbdv
ghfghfgdh
Fin
fjkfjfd
hjhfjd
Et que je souhaite récupérer le texte compris entre "Debut" et "Fin", comment je fais?
Merci d'avance
je suis débutant en scripts et je cherche un script pour copier une partie d'un fichier. Par exemple, si j'ai ceci:
hghfghdgfd
ioezuztgbvq
Debut
dhjfhdjhd
djfhjdhjfdj
bjdvbdv
ghfghfgdh
Fin
fjkfjfd
hjhfjd
Et que je souhaite récupérer le texte compris entre "Debut" et "Fin", comment je fais?
Merci d'avance
A voir également:
- Script pour la récupération d'une partie d'un fichier
- Comment réduire la taille d'un fichier - Guide
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Forcer la suppression d'un fichier - Guide
18 réponses
si c'est inclus
C:> cc
Debut
dhjfhdjhd
djfhjdhjfdj
bjdvbdv
ghfghfgdh
Fin
C:> type cc.bat
@echo off
setlocal enableDelayedExpansion
set p=0
for /f "delims=" %%a in (fichier.txt) do (
if "%%a"=="Debut" set p=1
if !p! EQU 1 echo %%a
if "%%a"=="Fin" set p=0
)
Je dois taper ça en ligne de commande ou en faire un script? Supposons que le texte suivant:
hghfghdgfd
ioezuztgbvq
Debut
dhjfhdjhd
djfhjdhjfdj
bjdvbdv
ghfghfgdh
Fin
fjkfjfd
hjhfjd
Soit dans un fichier test.txt
Ce sont les instructions C:> cc et C:> type cc.bat que je ne comprends pas
hghfghdgfd
ioezuztgbvq
Debut
dhjfhdjhd
djfhjdhjfdj
bjdvbdv
ghfghfgdh
Fin
fjkfjfd
hjhfjd
Soit dans un fichier test.txt
Ce sont les instructions C:> cc et C:> type cc.bat que je ne comprends pas
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cc.bat est le nom du script, comme il y a plusieurs lignes il faut mieux faire un script.
en tapant cc j'exécute le script cc.bat
on peut le nommer comme on veut
en tapant cc j'exécute le script cc.bat
on peut le nommer comme on veut
Ok. J'ai un dernier souci. Le texte
hghfghdgfd
ioezuztgbvq
Debut
dhjfhdjhd
djfhjdhjfdj
bjdvbdv
ghfghfgdh
Fin
fjkfjfd
hjhfjd
est dans un fichier appelé fichier.txt
Comment ecrire le script pour recuperer le texte entre "Debut" et "fin" sans passer par la ligne de commande? Juste un script qui fait une recherche dans un fichier, dont on met les bornes, par exemple Debut et Fin?
hghfghdgfd
ioezuztgbvq
Debut
dhjfhdjhd
djfhjdhjfdj
bjdvbdv
ghfghfgdh
Fin
fjkfjfd
hjhfjd
est dans un fichier appelé fichier.txt
Comment ecrire le script pour recuperer le texte entre "Debut" et "fin" sans passer par la ligne de commande? Juste un script qui fait une recherche dans un fichier, dont on met les bornes, par exemple Debut et Fin?
je n'ai pas très bien compris.
on peut mettre des variables
on peut mettre des variables
@echo off
setlocal enableDelayedExpansion
set t1=Debut
set t2=Fin
set p=0
for /f "delims=" %%a in (fichier.txt) do (
if "%%a"=="%t1%" set p=1
if !p! EQU 1 echo %%a
if "%%a"=="%t2%" set p=0
)
Maintenat, comment faire pour que le resultat de ce script soit redirigé dans un autre fichier?
A quel niveau du script je dois mettre " > autre_fichier.txt" ?
A quel niveau du script je dois mettre " > autre_fichier.txt" ?
soit à l'appel du script : script > fichier.txt
soit dedans avec doubles >
if !p! EQU 1 echo %%a >> fichier.txt
soit dedans avec doubles >
if !p! EQU 1 echo %%a >> fichier.txt
Ca fonctionne à merveille! Merci infiniment. Mais j'ai encore une question: et si au lieu de "Debut", j'ai "Debut de l'ecriture du livre"?
En d'autres termes, si au lieu de mettre un mot, je souhaite mettre une chaine de caractères?
Ce sera set t1=Debut de l'ecriture du livre ???
En d'autres termes, si au lieu de mettre un mot, je souhaite mettre une chaine de caractères?
Ce sera set t1=Debut de l'ecriture du livre ???
C'est vraiment urgent. Merci d'avance pour ta sollicitude. Montre moi comment t'envoyer le code et le fichier stp
Voici l'adresse du fichier dans duquel je veux copier une partie:
https://www.cjoint.com/?3DzkBFH5KUr
Je veux copier les lignes entre PARAMÔTRES UTILISATEURS et Objets Strat'gie de groupe appliqu's
Merci d'avance
https://www.cjoint.com/?3DzkBFH5KUr
Je veux copier les lignes entre PARAMÔTRES UTILISATEURS et Objets Strat'gie de groupe appliqu's
Merci d'avance
c'est la m........ à cause des accents, espaces, etc ...
ceci à l'air ok
on remplace les accents par un point
ceci à l'air ok
on remplace les accents par un point
@echo off
set fichier=3DzkBFH5KUr_sodw4608.txt
set t1=PARAM.TRES UTILISATEURS
set t2=Objets Strat.gie de groupe appliqu.s
setlocal enableDelayedExpansion
set p=0
for /f "delims=" %%a in (%fichier%) do (
echo %%a | findstr /r /c:"%t1%">NUL
if !errorlevel! EQU 0 set p=1
if !p! EQU 1 echo %%a
echo %%a | findstr /r /c:"%t2%">NUL
if !errorlevel! EQU 0 set p=0
)