Bonjour,
Voilà je rencontre des problèmes sur la création d'un script Batch ayant pour but de supprimer le premier et dernier caractère de chaque ligne d'un fichier .txt. Etant novice dans ce domaine, j'ai effectué de multiples recherches sur internet mais sans grand succès.
C'est pourquoi je viens vers vous aujourd'hui.
Voici un exemple de fichier .txt
"0018.1909.61f1;Po4"
"0018.1909.61f2;Po4"
"10bd.1806.5c99;Gi4/0/26"
"2037.0676.bf99;Gi4/0/25"
"64ae.0c9e.2e17;Po5"
"64ae.0c9e.2e18;Po5"
Comme vous pouvez le voir, je souhaite supprimer les " au début et à la fin de chaque ligne.
Pour le moment, mon script est tourné vers ce style:
echo off
SETLOCAL enabledelayedexpansion
for /f %%a in (result.txt) do
(
set variable=%%a
echo !variable:~0,-1!>>resultat.txt
)
En espérant pouvoir trouver un peu d'aide.
Merci.
Batch: suppression du premier et dernier caractère d'un .txt
Modérateur : WIN32-[GG]
- -- batchman --
- Batcheur débutant
- Messages : 22
- Enregistré le : 29 oct. 2014 11:37
Re: Batch: suppression du premier et dernier caractère d'un .txt
Salut !
T'as presque trouvé, il suffit de changer ça : echo !variable:~1 ,-1!>>resultat.txt[/b]
Et donc ça te donne ça :
Par contre, si il y a des espaces après tes "0018.1909.61f1;Po4" l'astuce ne marche pas (il reste les derniers guillemets ) ;
vaux mieux ce code ci-dessous, qui fonctionne en toutes circonstances
J'ai testé, mais vérifie quand même
T'as presque trouvé, il suffit de changer ça : echo !variable:~1 ,-1!>>resultat.txt[/b]
Et donc ça te donne ça :
Code : Tout sélectionner
@echo off
for /f "tokens=*" %%a in (texte.txt) do (
set variable=%%a
echo !variable:~1,-1!>>resultat.txt
)
type resultat.txt
echo.
echo.
pause
start notepad resultat.txt
vaux mieux ce code ci-dessous, qui fonctionne en toutes circonstances
Code : Tout sélectionner
@echo off
for /f delims^=^"^ tokens^=1 %%a in (texte.txt) do (
echo %%a>>resultat.txt
)
type resultat.txt
echo.
echo.
pause
start notepad resultat.txt
-- batchman --