Bonjour,
J'ai un fichier txt, avec des lignes et des lignes renseignés.
Je souhaite un fichier éventuellement exécuter un fichier batch qui supprime les lignes vides.
Quelqu'un connait-il la manipulation ?
Cordialement.








Bonjour,
J'ai un fichier txt, avec des lignes et des lignes renseignés.
Je souhaite un fichier éventuellement exécuter un fichier batch qui supprime les lignes vides.
Quelqu'un connait-il la manipulation ?
Cordialement.
Voici un exemple qui peut supprimer les lignes vides dans le même fichier batch :
Normalement après l’exécution de ce code vous allez obtenir quelque chose comme ça dans un fichier texte
Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 @echo off Set "InputFile=%~f0" echo Le fichier d'entree : "%InputFile%" Set "OutputFile=%~dp0%~n0.txt" echo( echo Le fichier de sortie : "%OutputFile%" echo( echo Appuyez sur une touche pour enlever les lignes vides dans ce fichier batch pause>nul Call:RemoveEmptyLines "%InputFile%" "%OutputFile%" Start "" "%OutputFile%" Exit /b ::***************************************************************************** :RemoveEmptyLines <InputFile> <OutputFile> for /f "delims= tokens=*" %%x in ('Type "%~1"') do echo %%x >> "%~2" Exit /b ::****************************************************************************
@echo off
Set "InputFile=%~f0"
echo Le fichier d'entree : "%InputFile%"
Set "OutputFile=%~dp0%~n0.txt"
echo(
echo Le fichier de sortie : "%OutputFile%"
echo(
echo Appuyez sur une touche pour enlever les lignes vides dans ce fichier batch
pause>nul
Call:RemoveEmptyLines "%InputFile%" "%OutputFile%"
Start "" "%OutputFile%"
Exit /b
::*****************************************************************************
:RemoveEmptyLines <InputFile> <OutputFile>
for /f "delims= tokens=*" %%x in ('Type "%~1"') do echo %%x >> "%~2"
Exit /b
::*****************************************************************************








Je ne comprends pas tout à fait la manipulation demandé.
Je colle votre code dans un fichier nommé sup_ligne.bat
Et quand je vais exécuter ce fichier cela va enlever les lignes vides de monde fichier test.txt ?
On va simplifier la manip
copier et coller ce code Supp_lignes_Vides.bat
Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 @echo off Title Supprimer les lignes vides dans un fichier Rem Ici on définit le chemin du fichier d'entrée Set "InputFile=c:\test\testfile.txt" If Not exist "%InputFile%" color 0c & echo "%InputFile%" not found pause>nul & exit /b Rem Ici on définit le fichier de sortie Set "OutputFile=c:\test\testfile2.txt" Rem ici on appelle notre fonction avec 2 paramètres le fichier d'entrée et le fichier de sortie afin de supprimer les lignes vides Call:RemoveEmptyLines "%InputFile%" "%OutputFile%" Rem on ouvre le fichier de sortie Start "" "%OutputFile%" Exit /b ::***************************************************************************** :RemoveEmptyLines <InputFile> <OutputFile> for /f "delims= tokens=*" %%x in ('Type "%~1"') do echo %%x >> "%~2" Exit /b ::*****************************************************************************
Voici une autre version par glisser et déposer le fichier à convertir sur le batch
Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 @echo off Mode con cols=80 lines=3 & color 9E Title Supprimer les lignes vides dans un fichier par glisser et deposer Rem Ici on définit le chemin du fichier d'entrée par glisser et déposer If [%1]==[] goto :Error Set "InputFile=%1" Rem Ici on définit le fichier de sortie Set "OutputFile=%InputFile%.txt" echo Traitement du fichier "%InputFile%" Rem ici on appelle notre fonction avec 2 paramètres le fichier d'entrée et le fichier de sortie afin de supprimer les lignes vides Call:RemoveEmptyLines "%InputFile%" "%OutputFile%" Rem on ouvre le fichier de sortie Start "" "%OutputFile%" Exit /b ::***************************************************************************** :RemoveEmptyLines <InputFile> <OutputFile> for /f "delims= tokens=*" %%x in ('Type "%~1"') do echo %%x >> "%~2" Exit /b ::***************************************************************************** :Error color 0c & echo( & echo The input file is not found ! Please drag and drop a file to be processed ... pause>nul & exit /b








Je ne comprends pas.
Ce code ne donne rien. J'ai un fichier test.txt avec des sauts de lignes.
J'ai un fichier en .bat avec le code ci-dessous. En quand je fais exécuter le .bat manuellement. J'ai une fenêtre noir qui s'ouvre, je fais entrée mais aucun fichier test2.txt ne se créé.
Je cherche vraiment à ce que çà se fasse automatiquement.
L'idée c'est que j'ai un fichier qui est généré chaque jour depuis une application en .txt avec des saut de lignes, un batch vient enlever ces sauts de lignes avant qu'une autre tâche envoi se fichier ailleurs propre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18@echo off Title Supprimer les lignes vides dans un fichier Rem Ici on définit le chemin du fichier d'entrée Set "InputFile=C:\Nouveau dossier\test.txt" If Not exist "%InputFile%" color 0c & echo "%InputFile%" not found pause>nul & exit /b Rem Ici on définit le fichier de sortie Set "OutputFile=C:\UNouveau dossier\test2.txt" Rem ici on appelle notre fonction avec 2 paramètres le fichier d'entrée et le fichier de sortie afin de supprimer les lignes vides Call:RemoveEmptyLines "%InputFile%" "%OutputFile%" Rem on ouvre le fichier de sortie Start "" "%OutputFile%" Exit /b ::***************************************************************************** :RemoveEmptyLines <InputFile> <OutputFile> for /f "delims= tokens=*" %%x in ('Type "%~1"') do echo %%x >> "%~2" Exit /b ::*****************************************************************************
Partager