Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1746 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [TXT] Supprimer le dernier caractère

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[TXT] Supprimer le dernier caractère

n°1415130
minakator
Posté le 28-07-2006 à 12:16:37  profilanswer
 

Bonjour,  
 
Je cherche à supprimer le dernier caractère de chaque ligne dans un fichier TXT en utilisant un Batch.
Mais je ne trouve rien ....  
Pourriez vous m'aider ?
 
Merci d'avance !

mood
Publicité
Posté le 28-07-2006 à 12:16:37  profilanswer
 

n°1415221
wackevat
Posté le 28-07-2006 à 13:28:44  profilanswer
 

Tu dois lire le fichier ligne par ligne, en affectant celle-ci à une variable, puis utiliser :
set VAR=%VAR:~x,y%
pour enlever le dernier caractère et réécrire la variable dans le fichier de résultat.
 
for /?
et
set /?
pour plus d'infos.
 
Par contre, cette méthode supprime les lignes vides. Donc à toi de voir si ça te convient.

n°1419950
webding
Posté le 04-08-2006 à 18:30:44  profilanswer
 

wackevat a écrit :

Tu dois lire le fichier ligne par ligne, en affectant celle-ci à une variable, puis utiliser :
set VAR=%VAR:~x,y%
pour enlever le dernier caractère et réécrire la variable dans le fichier de résultat.
 
for /?
et
set /?
pour plus d'infos.
 
Par contre, cette méthode supprime les lignes vides. Donc à toi de voir si ça te convient.


 
 
Bonjour, j'ai essayer ceci chez moi, mais ça ne fonctionne pas:
 

Code :
  1. For /f "delims=" %%i In ('Type fichier.txt') Do Set VarT=%%i
  2. Set Var=%VarT:~x,y%
  3.   echo %Var%

n°1419984
wackevat
Posté le 04-08-2006 à 19:13:24  profilanswer
 

- pour inclure plusieures commandes dans une boucle for, tu dois utiliser les parenthèses :

Code :
  1. for ... do (
  2.   commande1
  3.   commande2
  4.   ....
  5. )


 
- consulte ce topic pour les questions concernant l'affectation des variables dans une boucle :
http://forum.hardware.fr/hardwaref [...] 2792-1.htm

n°1419991
webding
Posté le 04-08-2006 à 19:18:26  profilanswer
 

Merci beaucoup
 
Je sais pour les variable, on ne peut pas utiliser une variable qu'on créer dans une boucle dans cette même boucle.
 
Mais ça ne vient pas de là, le code qui est sous la boucle dans mon code ne fait pas parti de la boucle.
 
Si je fair ceci ça passe:
 
For /f "delims=" %%i In ('Type fichier.txt) Do Set Var=%%i
  echo %Var%


Message édité par webding le 04-08-2006 à 19:20:46
n°1420142
wackevat
Posté le 04-08-2006 à 22:40:25  profilanswer
 

J'espère que tu as quand même lu l'aide de set comme j'avais préconisé et n'as pas gardé x et y tels quels ?

n°1420151
webding
Posté le 04-08-2006 à 22:49:30  profilanswer
 

Je ne suis pas minakator, moi je suis webding.
 
J'ai quand même lu l'aide de setn mais je n'ai pas trouver.
 
Je ne sais pas ce qu'il faut mettre a la place de x et y.

n°1421483
maciew
Posté le 07-08-2006 à 14:25:33  profilanswer
 

Aller essaye ça :  
 

Code :
  1. SETLOCAL enabledelayedexpansion
  2. for /f %%a in (test.txt) do
  3. (
  4. set variable=%%a
  5. echo !variable:~0,-1!>>resultat.txt
  6. )


 
A+

n°1421492
webding
Posté le 07-08-2006 à 14:33:05  profilanswer
 

Sa marche pas chez moi

n°1422175
maciew
Posté le 08-08-2006 à 12:00:14  profilanswer
 

.... si tu veut supprimmer les derniers caractères de chaque ligne ce trouvant dans "test.txt" et bien cela fonctionne.
Evidemment ici test.txt et ton .bat doivent être dans le même répertoires sinon il faut changer le chemin.

mood
Publicité
Posté le 08-08-2006 à 12:00:14  profilanswer
 

n°1422374
webding
Posté le 08-08-2006 à 17:07:23  profilanswer
 

Por tn ils sont dans le même répertoire

n°1422378
_darkalt3_
Proctopathe
Posté le 08-08-2006 à 17:10:15  profilanswer
 

Non mais qu'ont-ils tous avec le batch ?
Y'a un concours ? [:pingouino]

n°1423050
maciew
Posté le 09-08-2006 à 16:59:52  profilanswer
 

hé bé il faut avouer que c'est parfois bien pratique et que c'est plus facile à apprendre que du vb, c, ... surtout pour des petites tâches comme ça.
 
Mais bon c'est évident qu'avec un peu de courage il serait préférable d'apprendre un langage plus puissant car le batch est un peu limité.
 
Chacun son domaine ...

n°1423055
_darkalt3_
Proctopathe
Posté le 09-08-2006 à 17:01:42  profilanswer
 

Vraiment, je vois pas en quoi c'est plus dur à apprendre que VB (en plus c'est moins bien documenté)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [TXT] Supprimer le dernier caractère

 

Sujets relatifs
Nombre de caractere dans un fichier texteSupprimer un espace dans un nom de fichier
Supprimer des caractères spéciaux d'une chaineCouper une chaine de caractère
premier caractère d'une cellule[javascript]supprimer le nieme caractère
latin_general_ci et pourtant des caractere utf8 apparaissent! [résolu][Batch] Insérer une chaine de caractère devant un nom de fichier
[VBA Excel] Supprimer le contenu d'une ligne 
Plus de sujets relatifs à : [TXT] Supprimer le dernier caractère


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR