Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
fichier texte de plusieurs lignes sur une ligne
Auteur Message
Répondre en citant
Message fichier texte de plusieurs lignes sur une ligne 
Salut Very Happy

J'ai un fichier .txt qui contient par ex :

Code:
Bonjour
je
vais bien


Comment grâce a un batch mettre tout sur une ligne :

Code:
Bonjour // je // vais bien


ou sinon alors juste

Code:
Bonjour je vais bien


Mais si possible pouvoir mettre // Very Happy



Dernière édition par yago_nfs_tm_91- le Mar 20 Juil 2010 - 17:22; édité 2 fois

______________________________________________________
http://www.YagoServer.net/
Visiter le site web du posteur Yahoo Messenger Skype
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message fichier texte de plusieurs lignes sur une ligne 
Yop Yago ^^

Voici le code qu'il te faut Wink

Code:

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
set FILE=fichier.txt

set NEW_TXT=
for /f "tokens=*" %%A in ('type %FILE%') do (
    set NEW_TXT=!NEW_TXT! // %%A
   )
for /f "tokens=2,*" %%A in ('set ^| Find "NEW_TXT"') do (
    echo %%B>%FILE%
   )
pause





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message fichier texte de plusieurs lignes sur une ligne 
Ca marche merci Okay

Autre question, mon fichier texte contient les caractères suivants :
Code:
, : "


Comment les remplacer par X ou autre ?

par ex remplacer :

Code:
Statu : "On"

par
Code:
Statu .. -On-


J'ai penser a faire :

Code:
@echo off
FOR /F "TOKENS=* delims= " %%A IN ('TYPE fichier.txt') DO (
SET chaine=%%A
call :trad
)
goto sw8
:trad
set chaine=%chaine:,=.%
set chaine=%chaine::=..%
set chaine=%chaine:"=-%
goto :eof
:sw8

(edit :
Code:
echo %chaine% > fichier.txt

)

Mais évidement j'ai l'erreur suivante :

Code:
Syntaxe du nom de fichier, de répertoire ou de volume incorrecte.


Neutral Confused

edit : enfaite ca marche, mais dans mon fichier texte il y a aussi un
Code:
>

mais
Code:
set chaine=%chaine:>=v%

ne marche pas Confused

il faudrait pouvoir supprimer les > du fichier texte !

edit² : j'ai trouver un autre truc :
Code:
findstr /vir "^>" fichier.txt > fichier.txt   


mais ca a pas l'air de marcher non plus Rolling Eyes
quand je fait "findstr /?" il n'y a pas de "/vir" Neutral


edit3 :
j'ai trouver ca : http://www.developpez.net/forums/d823452/general-developpement/programmatio…
a un moment il dit :
Citation:
Par contre si je fais :

Code:
echo !match! |findstr /c:"JOUER .lnk">nul


il va trouver ! Donc ça prouve bien que "%%a" remplace les caractères spéciaux par des espaces !

J'ai pas bien compris mais en tout cas moi > n'est pas remplacer par un espace ( mais j'aimerai bien Mr. Green )




______________________________________________________
http://www.YagoServer.net/
Visiter le site web du posteur Yahoo Messenger Skype
Répondre en citant
Message fichier texte de plusieurs lignes sur une ligne 
Bonjour

Met le caractère d'echappement ^> pour que ton caractère spécial soit pris en compte sinon il est interprété comme une commande par le batch.
ça devrai passer je pense




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message fichier texte de plusieurs lignes sur une ligne 
Re,

Scuse, j'ai pas tout suivi ...
Pourrais-tu mettre un bout de ton fichier ainsi que le résultat souhaité pour m'aider stp ?

@+




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message fichier texte de plusieurs lignes sur une ligne 
Laddy a écrit:
Bonjour

Met le caractère d'echappement ^> pour que ton caractère spécial soit pris en compte sinon il est interprété comme une commande par le batch.
ça devrai passer je pense


oui j'y ai penser mais le mettre ou ?
je peux le mettre manuellement dans le fichier texte mais justement ce que je veux faire c'est que ce sois le batch qui le fasse,
ou alors que le batch supprime tout les ">" du fichier texte !

Donc j'ai essayer :

Code:
findstr /vir "^>" fichier.txt > fichier.txt   

et
Code:
set chaine=%chaine:^>=v%

Mais ca n'a pas l'ai de marcher Neutral

Mon Fichier texte contient qqchose du genre
Code:
---> 23:45:34, : "explorer.exe"


et j'ai le meme probleme avec les fichier .html du coup




______________________________________________________
http://www.YagoServer.net/
Visiter le site web du posteur Yahoo Messenger Skype
Répondre en citant
Message fichier texte de plusieurs lignes sur une ligne 
RE,

Pas trouvé Crying or Very sad

Juste pour enlever les caracteres que tu veux transformer ...
Code:

@echo off
set FILE=fichier.txt
for /f "delims=:;^>-, tokens=1,2,3,4,5,6,7,8,9" %%A in ('type %FILE%') do (
    echo %%A %%B %%C %%D %%E %%F %%G %%H %%I
   )
pause



@+




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message fichier texte de plusieurs lignes sur une ligne 
stryk a écrit:
RE,

Pas trouvé Crying or Very sad

Juste pour enlever les caracteres que tu veux transformer ...
Code:

@echo off
set FILE=fichier.txt
for /f "delims=:;^>-, tokens=1,2,3,4,5,6,7,8,9" %%A in ('type %FILE%') do (
    echo %%A %%B %%C %%D %%E %%F %%G %%H %%I
   )
pause



@+


Bah c'est ca que je cherchait ! supprimer ">" ! Very Happy

Donc du coup j'ai fait

Code:
@echo off
for /f "delims=^> tokens=1,2,3,4,5,6,7,8,9" %%A in ('type fichier.txt') do (
    echo %%A %%B %%C %%D %%E %%F %%G %%H %%I > fichier.txt
   )
FOR /F "TOKENS=* delims= " %%A IN ('TYPE fichier.txt') DO (
SET chaine=%%A
call :trad
)
goto sw8
:trad
set chaine=%chaine:,=.%
set chaine=%chaine::=..%
set chaine=%chaine:"=-%
goto :eof
:sw8
echo %chaine% > fichier.txt
notepad fichier.txt
pause


et tout marche !

Merci beaucoup pour votre aide Okay




______________________________________________________
http://www.YagoServer.net/
Visiter le site web du posteur Yahoo Messenger Skype
Répondre en citant
Message fichier texte de plusieurs lignes sur une ligne 
ah ! et euh derniere question Mr. Green
stryk a écrit:
Yop Yago ^^

Voici le code qu'il te faut Wink

Code:

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
set FILE=fichier.txt

set NEW_TXT=
for /f "tokens=*" %%A in ('type %FILE%') do (
    set NEW_TXT=!NEW_TXT! // %%A
   )
for /f "tokens=2,*" %%A in ('set ^| Find "NEW_TXT"') do (
    echo %%B>%FILE%
   )
pause



Comment faire l'inverse ? Laughing




______________________________________________________
http://www.YagoServer.net/
Visiter le site web du posteur Yahoo Messenger Skype
Répondre en citant
Message fichier texte de plusieurs lignes sur une ligne 
RE,

Si tu dois avoir des espaces sur certaines lignes, voici le genre de code:
Code:

@echo off
set FILE=fichier.txt

for /f "tokens=1,2,3,4,5,6,7,8,9 delims=/" %%A in ('type %FILE%') do (
    echo.%%A>%FILE%
    echo.%%B>>%FILE%
    echo.%%C>>%FILE%
    echo.%%D>>%FILE%
    echo.%%E>>%FILE%
    echo.%%F>>%FILE%
    echo.%%G>>%FILE%
    echo.%%H>>%FILE%
    echo.%%I>>%FILE%
    )

pause


Si il n'y a jamais de ligne avec espaces, ajoute un espace apres le delims=/ ce sera plus propre:

[code]
...
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=/ " %%A in ('type %FILE%') do (
...
[code]




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message fichier texte de plusieurs lignes sur une ligne 
Ca marche merci Okay




______________________________________________________
http://www.YagoServer.net/
Visiter le site web du posteur Yahoo Messenger Skype
Message fichier texte de plusieurs lignes sur une ligne 


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