Modifier une ligne dans un fichier texte (.txt)
WhiteBlako
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
barnabe0057 Messages postés 14455 Date d'inscription Statut Contributeur Dernière intervention -
barnabe0057 Messages postés 14455 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Voici le fichier que je veux modifier :
echo.
echo Quel partie voulez-vous modifier ?
echo.
set /p "partie=> "
echo.
echo Par quoi ?
echo.
set /p "partiemodif=> "
[rechercher "Name"]
[supprimer la ligne]
[remplacer la ligne]
/!\ Je pense que la seul solution c'est avec des for, mais j'ai chercher et je n'arrive pas à les comprendre pour les utiliser..
Merci à ceux qui aident,
WhiteBlako
Voici le fichier que je veux modifier :
:HOMETout cela pour arrivé à :
cls
echo 17/07/2018 20:34:35,14
echo.
echo Name : WhiteBlako
echo.
echo Mobile : 00 00 00 00 00
echo Home : 00 00 00 00 00
echo.
echo Email : WhiteBlako@hotmail.com
echo.
echo Address : 1600 Pennsylvania Ave NW, Washington, DC
echo : 20500, États-Unis
echo.
echo Birthday : 18/11/1998 (20 years old)
echo : 18 November 1998
echo.
echo Father : Emmanuel Macron
echo Mother : Brigitte Macron
echo.
echo Note(s) : Moi
echo.
echo [ HOME ]
echo [ CREATE ]
echo [ LIST ]
echo [ WATCH ]
echo [ DELETE ]
echo.
echo What do you do ?
echo.
echo [ EXIT ]
echo.
set /p "HomeWant=> "
if /i "%HomeWant%" == "HOME" (
cd ".."
call "home.bat"
) else if /i "%HomeWant%" == "CREATE" (
cd ".."
call "create.bat"
) else if /i "%HomeWant%" == "LIST" (
cls
dir
pause > nul
goto HOME
) else if /i "%HomeWant%" == "WATCH" (
cd ".."
call "watch.bat"
) else if /i "%HomeWant%" == "DELETE" (
cd ".."
call "delete.bat"
) else if /i "%HomeWant%" == "EXIT" (
goto ExitSure
) else (
color 0c
cls
echo.
echo Incorrect choice !
timeout /t 3 /nobreak
color 0a
goto HOME
)
:ExitSure
echo.
echo Are you sure you want to leave your contact ? [YES/NO]
echo.
set /p "ExitSure=> "
if /i "%ExitSure%" == "YES" (
exit
) else if /i "%ExitSure%" == "NO" (
goto HOME
) else (
color 0c
cls
echo.
echo Incorrect choice !
timeout /t 3 /nobreak
color 0a
goto HOME
)
echo.
echo Quel partie voulez-vous modifier ?
echo.
set /p "partie=> "
echo.
echo Par quoi ?
echo.
set /p "partiemodif=> "
[rechercher "Name"]
[supprimer la ligne]
[remplacer la ligne]
/!\ Je pense que la seul solution c'est avec des for, mais j'ai chercher et je n'arrive pas à les comprendre pour les utiliser..
Merci à ceux qui aident,
WhiteBlako
A voir également:
- Modifier une ligne dans un fichier texte (.txt)
- Fichier bin - Guide
- Modifier dns - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
2 réponses
https://sourceforge.net/projects/fart-it/files/fart-it/1.99b/
explication : https://web.archive.org/web/20180329050923/http://fart-it.sourceforge.net/
Logiciel immature mais qui peut modifier tout les fichiers
explication : https://web.archive.org/web/20180329050923/http://fart-it.sourceforge.net/
Logiciel immature mais qui peut modifier tout les fichiers
Bonjour,
Je ne vois pas de fichier texte à modifier, tu as juste posté ton script.
Est-ce que tu veux modifier un fichier texte ou un batch ?
Je ne vois pas de fichier texte à modifier, tu as juste posté ton script.
Est-ce que tu veux modifier un fichier texte ou un batch ?
On pourrait penser qu'il n' y a pas de différence, mais ça fait une énorme différence.
C'est beaucoup plus complexe de modifier un batch, à cause des caractères spéciaux entre autres.
Dis-moi si ça te convient :
C'est beaucoup plus complexe de modifier un batch, à cause des caractères spéciaux entre autres.
Dis-moi si ça te convient :
@echo off
setlocal enableextensions enabledelayedexpansion
cd /d %USERPROFILE%\Desktop
echo. >nouveau.txt
echo.
echo Quel partie voulez-vous modifier ?
set /p "partie=> "
echo.
echo Par quoi ?
echo.
set /p "partiemodif=> "
for /f "usebackq delims=" %%E in ("whiteblako.bat") do (
set ligne=#%%E
for /f "tokens=1,* delims=:" %%A in ("!ligne!") do (
set droite=%%B
set gauche=%%A
set gauche=!gauche:~1!
>>nouveau.txt (echo !ligne! | findstr /C:"Name : %partie%" >nul && echo !gauche!: %partiemodif% || if defined droite (echo %%E) else (echo !gauche!))
)
)
echo. & pause
exit /b 0
je vous tiens au courant.