Editeur de .txt automatique

Fermé
WB44 Messages postés 9 Date d'inscription samedi 24 décembre 2016 Statut Membre Dernière intervention 30 juillet 2017 - 30 juil. 2017 à 15:53
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 30 juil. 2017 à 17:30
Bonjour,
j'ai un dossier remplis de 1120 .txt, y a t'il un moyen de tous les modifier automatiquement (un .bat ou un logiciel) de sorte à se qu'il ne reste que la quatrième ligne dans chacun (que les lignes 1 à 3 soit supprimées et les lignes après la quatrième soit elles aussi supprimées)

Merci d'avance pour vos réponses
A voir également:

1 réponse

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 30 juil. 2017 à 17:30
Bonjour,

C'est possible avec un batch, voilà le script :

@echo off
chcp 1252 > nul
setlocal enableextensions enableDelayedExpansion

set dossier=%USERPROFILE%\Desktop\Toto
set temp=tmp0123

cd /d %dossier% || goto :eof
echo. & echo Dossier à traiter : %cd%
echo. & pause

if not exist "%temp%" (mkdir "%temp%")

for /f "tokens=*" %%A in ('2^>nul dir /b /a-d "*.txt"') do (
set nouveau=%cd%\%temp%\%%~A
set /a ligne=0
echo. & echo ### %%A ###

for /f "usebackq skip=3 tokens=*" %%B in ("%%~A") do (
set /a ligne+=1
if not "A%%BA"=="AA" (if !ligne! LSS 2 (echo %%B > "!nouveau!"))
)

if exist "!nouveau!" (move /Y "!nouveau!" "%cd%\" > nul)

)

explorer /select,"%temp%"

rmdir /s /Q "%temp%"

echo. & pause
endlocal
exit

N'oublie pas de remplacer la partie soulignée par le chemin de ton dossier.


“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
0