Supprimer une variable dans un fichier texte
Roberto210
-
BigCoool Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
BigCoool Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Les utilisateurs de ma société lancent un fichier bat pour annoncer le numéro du traitement qu'ils effectuent déclenchant alors un enregistrement dans un fichier journal.txt.
Dans ce fichier, je peux voir qui traite quoi en temps réel et je souhaite que quand l'utilisateur a fini, il appuie sur une touche et cela supprime la ligne le concernant dans le fichier.
Cependant, lorsque l'utilisateur appuie sur une touche, c'est toute les lignes qui sont supprimées. (type journal.txt | find /v "%username% .....
Ma question : comment faire pour que la variable %username% soit pris en compte pour l'utilisateur unique ?
Merci d'avance pour votre précieuse aide !
Mon code :
Les utilisateurs de ma société lancent un fichier bat pour annoncer le numéro du traitement qu'ils effectuent déclenchant alors un enregistrement dans un fichier journal.txt.
Dans ce fichier, je peux voir qui traite quoi en temps réel et je souhaite que quand l'utilisateur a fini, il appuie sur une touche et cela supprime la ligne le concernant dans le fichier.
Cependant, lorsque l'utilisateur appuie sur une touche, c'est toute les lignes qui sont supprimées. (type journal.txt | find /v "%username% .....
Ma question : comment faire pour que la variable %username% soit pris en compte pour l'utilisateur unique ?
Merci d'avance pour votre précieuse aide !
Mon code :
echo.
echo ## Traitement 1 ##
echo.
echo.
set date = for /f "tokens=*" %%a in ('date /t')
for /f "tokens=1,2,3 delims=:" %%a in ('time /t') do set heure=%%a
for /f "tokens=1,2,3delims=:" %%a in ('time /t') do set minute=%%b
echo %username% login Traitement 1 le %date% à %heure%:%minute% >>journal.txt
echo == "POUR QUITTER LE TRAITEMENT, APPUYEZ SUR LA TOUCHE ESPACE..."== & pause >nul
for /f "tokens=1,2,3 delims=:" %%a in ('time /t') do set heureout=%%a
for /f "tokens=1,2,3delims=:" %%a in ('time /t') do set minuteout=%%b
type journal.txt | find /v "%username% login Traitement 1">journal.txt
goto end
A voir également:
- Supprimer une variable dans un fichier texte
- Supprimer rond bleu whatsapp - Guide
- Fichier bin - Guide
- Impossible de supprimer un fichier - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
2 réponses
hello
je n'ai pas tout saisi du problème, mais essayer de ne pas lire et écrire dans le même fichier
je n'ai pas tout saisi du problème, mais essayer de ne pas lire et écrire dans le même fichier
type journal.txt | find /v "%username% login Traitement 1">journal2.txt
Bonjours,
Désoler pour le retard mais j'ai vue que l'affaire n'était pas résolu..
Que voulez vous faire après l’appuie sur espace ?
- supprimer la ligne que l'utilisateur à créer :
- la remplacer la ligne que l'utilisateur à créer :
- ajouter une ligne après la ligne que l'utilisateur à créer
-ajouter une ligne à la fin du fichier
Désoler pour le retard mais j'ai vue que l'affaire n'était pas résolu..
Que voulez vous faire après l’appuie sur espace ?
- supprimer la ligne que l'utilisateur à créer :
@echo off echo. echo ## Traitement 1 ## echo. echo. set date = for /f "tokens=*" %%a in ('date /t') for /f "tokens=1,2,3 delims=:" %%a in ('time /t') do set heure=%%a for /f "tokens=1,2,3delims=:" %%a in ('time /t') do set minute=%%b echo %username% login Traitement 1 le %date% à %heure%:%minute% >>journal.txt echo == "POUR QUITTER LE TRAITEMENT, APPUYEZ SUR LA TOUCHE ESPACE..."== & pause >nul for /f "tokens=1,2,3 delims=:" %%a in ('time /t') do set heureout=%%a for /f "tokens=1,2,3 delims=:" %%a in ('time /t') do set minuteout=%%a for /f "tokens=*" %%a in (journal.txt) do ( if not "%%a" EQU "%username% login Traitement 1 le %date% à %heure%:%minute% " echo %%a>>journal2.txt ) del journal.txt ren journal2.txt journal.txt
- la remplacer la ligne que l'utilisateur à créer :
@echo off echo. echo ## Traitement 1 ## echo. echo. set date = for /f "tokens=*" %%a in ('date /t') for /f "tokens=1,2,3 delims=:" %%a in ('time /t') do set heure=%%a for /f "tokens=1,2,3delims=:" %%a in ('time /t') do set minute=%%b echo %username% login Traitement 1 le %date% à %heure%:%minute% >>journal.txt echo == "POUR QUITTER LE TRAITEMENT, APPUYEZ SUR LA TOUCHE ESPACE..."== & pause >nul for /f "tokens=1,2,3 delims=:" %%a in ('time /t') do set heureout=%%a for /f "tokens=1,2,3 delims=:" %%a in ('time /t') do set minuteout=%%b for /f "tokens=*" %%a in (journal.txt) do ( if not "%%a" EQU "%username% login Traitement 1 le %date% à %heure%:%minute% " (echo %%a>>journal2.txt) else (echo %username% out Traitement 1 à %heureout%:%minuteout%>>journal2.txt) ) del journal.txt ren journal2.txt journal.txt
- ajouter une ligne après la ligne que l'utilisateur à créer
@echo off echo. echo ## Traitement 1 ## echo. echo. set date = for /f "tokens=*" %%a in ('date /t') for /f "tokens=1,2,3 delims=:" %%a in ('time /t') do set heure=%%a for /f "tokens=1,2,3delims=:" %%a in ('time /t') do set minute=%%b echo %username% login Traitement 1 le %date% à %heure%:%minute% >>journal.txt echo == "POUR QUITTER LE TRAITEMENT, APPUYEZ SUR LA TOUCHE ESPACE..."== & pause >nul for /f "tokens=1,2,3 delims=:" %%a in ('time /t') do set heureout=%%a for /f "tokens=1,2,3 delims=:" %%a in ('time /t') do set minuteout=%%b for /f "tokens=*" %%a in (journal.txt) do ( if not "%%a" EQU "%username% login Traitement 1 le %date% à %heure%:%minute% " (echo %%a>>journal2.txt) else (echo %%a>>journal2.txt & echo %username% out Traitement 1 à %heureout%:%minuteout%>>journal2.txt) ) del journal.txt ren journal2.txt journal.txt
-ajouter une ligne à la fin du fichier
@echo off echo. echo ## Traitement 1 ## echo. echo. set date = for /f "tokens=*" %%a in ('date /t') for /f "tokens=1,2,3 delims=:" %%a in ('time /t') do set heure=%%a for /f "tokens=1,2,3delims=:" %%a in ('time /t') do set minute=%%b echo %username% login Traitement 1 le %date% à %heure%:%minute% >>journal.txt echo == "POUR QUITTER LE TRAITEMENT, APPUYEZ SUR LA TOUCHE ESPACE..."== & pause >nul for /f "tokens=1,2,3 delims=:" %%a in ('time /t') do set heureout=%%a for /f "tokens=1,2,3 delims=:" %%a in ('time /t') do set minuteout=%%b echo %username% out Traitement 1 à %heureout%:%minuteout%>>journal.txt