Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[RESOLU] Lignes d'un fichier
Auteur Message
Répondre en citant
Message [RESOLU] Lignes d'un fichier 
Bonjour tout le monde ,

je suis nouveau entre vous , et je suis débutent au programmation batch

bon ,

je suis entrain de développer un batch qui remplace le chiffre 9 par un vide mais avec avec une condition , si que le 9 est le première caractère de la ligne,
par exemple

azerty
9qsdfgh
5y9uoj
9jfgf999vv
9hggg9g

doit transforme en :

azerty
qsdfgh
5y9uoj
jfgf999vv
hggg9g


Merci d'avance



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [RESOLU] Lignes d'un fichier 
Hello Mr. Green

Tes lignes sont consignées dans un fichier texte ?

Si c'est le cas, ceci devrait faire l'affaire:
Code:
@Echo Off
Setlocal Enabledelayedexpansion


For /F %%A In ('Type FICHIER.TXT') Do (

Set VAR=%%A
If "!VAR:~0,1!" EQU "9" Set VAR=!VAR:~1!

Echo.!VAR! >> FICHIER2.TXT
Del FICHIER.TXT

)



FICHIER = Nom du fichier à modifier (effacé)
FICHIER2 = Nom du fichier modifié (créé)



Dernière édition par Logan le Jeu 14 Aoû 2014 - 02:49; édité 2 fois

______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message [RESOLU] Lignes d'un fichier 
Merci BCP Logan pour votre aide

le script sa marche très bien il suprime le 9 au debut mais il suprime ausi les caractères spéciaux et les espaces et les caractère apres les espaces dans les lignes Sad
par exemple mon fichier contient :


9aaaaaaa,,,,
99bbbbb bbbbbbbbb
jjjjjj jjjjjjj


l resultat du batch est :

aaaaaaa
9bbbbb
jjjjjj

par contre moi je veux avoir une resultat comme :

aaaaaaa,,,,
9bbbbb bbbbbbbbb
jjjjjj jjjjjjj


Merci d'avance



Répondre en citant
Message [RESOLU] Lignes d'un fichier 
Autant pour moi:

Code:
@Echo Off
Setlocal Enabledelayedexpansion


For /F "tokens=*" %%A In ('Type FICHIER.TXT') Do (

Set "VAR=%%A"
If "!VAR:~0,1!" EQU "9" Set "VAR=!VAR:~1!"

Echo.!VAR! >> FICHIER2.TXT
Del FICHIER.TXT

)




Dernière édition par Logan le Jeu 14 Aoû 2014 - 02:49; édité 1 fois

______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message [RESOLU] Lignes d'un fichier 
Merci Logan pour votre aide

j'ai encore une petit probleme dans le batch
voila ma proposition :

Code:
@echo on
SETLOCAL enabledelayedexpansion
FOR /F "tokens=*" %%m in ('Type %1') Do (
set variable=%%m
echo !variable:~42! >>resultat.txt
)
For /F "tokens=*" %%A In ('Type resultat.txt') Do (
Set "VAR=%%A"
If NOT "!VAR:~0,1!" EQU "9" Set "!VAR=%%A!"
If NOT "!VAR:~0,1!" EQU " " Set "!VAR=%%A!"
If "!VAR:~0,1!" EQU "9" Set "VAR=!VAR:~1!"
Echo !VAR! >>%2
)
del resultat.txt
exit


mon batch premièrement supprime les 43 caractère de chaque ligne du fichier , stocker le resultat dans un fichier resultat.txt
et ensuite fait un lecture de resultat.txt ligne par ligne pour supprime les 9 au début de la ligne


le probleme est que lorsque une ligne contien 43 caractaire , le batch supprime les 43 caractere est affiche dans le fichier resultat "Commande ECHO activ‚e." par contre pour moi je veut que le batch affiche une ligne vide dans ce cas


Merci pour votre aide




EDIT LOGAN: Balises [CODE]



Répondre en citant
Message [RESOLU] Lignes d'un fichier 
J'ai juste survolé ton code et la meilleure solution est de remplacer
ceci:
Code:
Echo %VAR%


Par cela:
Code:
Echo.%VAR%



Si la variable est vide, le batch ne prendra seulement en compte
le "Echo.", excluant celle-ci et revenant à créer une ligne vide.


Redis-moi si tu a besoin d'une explication plus détaillée et si tu veux
une analyse plus approfondie de ton script.


Bonne soirée Okay




______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message [RESOLU] Lignes d'un fichier 
Merci logan pour l'aide

j'ai remplace la le ECHO par ECHO.

sa marche il laisse la ligne vide mais avec un espace devant chaque ligne et il supprime les ligne vide par exemple :

fichier.txt :

9aaa
99bbb

999ccc

resultat.txt :

aaa
9bbb
99ccc


pour moi je veut une resultat comme sa :

aaa
9bbb

99ccc

es que je peut avoir cet résultat ??


merci BCP logan



Répondre en citant
Message [RESOLU] Lignes d'un fichier 
Tu n'a pas dû t'y prendre bien:

Test comme ça:
Code:
@echo off
SETLOCAL enabledelayedexpansion
FOR /F "tokens=*" %%m in ('Type FICHIER.TXT') Do (
set "variable=%%m"
echo.!variable:~42!>>resultat.txt
)
For /F "tokens=*" %%A In ('Type resultat.txt') Do (
Set "VAR=%%A"
If "!VAR:~0,1!" EQU "9" Set "VAR=!VAR:~1!"
Echo.!VAR!>>RESULTAT2.TXT
)



Contenus des fichiers dans mon test avec ton script:

Code:
9111111111111111111111111111111111111111111111111111111111111111111111111111111111111
123
111111111111111111111111111111111111111199999


Code:
1111111111111111111111111111111111111111111
 
999


Code:
1111111111111111111111111111111111111111111

99



Pour moi c'est le résultat souhaité non ?

Maintenant tu peu réduire le script:
Code:
@Echo Off
Setlocal Enabledelayedexpansion


FOR /F "Tokens=*" %%A In ('Type FICHIER.TXT') Do (

Set "VAR=%%A"
Set "VAR=!VAR:~42!"

If "!VAR:~0,1!" EQU "9" Set "VAR=!VAR:~1!"
Echo.!VAR!>>RESULTAT.TXT

)





______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message [RESOLU] Lignes d'un fichier 
Merci bcccp Logan s maaarche


thanks



Répondre en citant
Message [RESOLU] Lignes d'un fichier 
Pas de soucis, bonne continuation Okay




______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Message [RESOLU] Lignes d'un fichier 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch