Page 1 sur 2
[Resolu]Copie de fichier en un
Posté : 11 mars 2012 14:43
par spawn
Bonjour,
J'aimerai faire la copie de plusieurs fichier texte "5000 fichier" du même répertoire ayant une seul ligne dedans, dans un seul fichier texte
Merci de votre aide
Code : Tout sélectionner
@echo off
REM DECLARATION DE VARIABLE POUR PLUS DE FACILITER
set dossier=F:\xml 2012 modifier\teste\
set fichier texte=%userprofile%\Bureau\final.txt
for /r "%dossier%" %%i in (*.txt) do (
for /f "tokens=*" %%a in ('type "%%~fi"') do echo.%%a>>"%fichier texte%"
)
pause
exit
Re: Copie de fichier en un
Posté : 11 mars 2012 21:40
par Gorbinator
spawn a écrit :Bonjour,
J'aimerai faire la copie de plusieurs fichier texte "5000 fichier" du même répertoire ayant une seul ligne dedans, dans un seul fichier texte
Merci de votre aide
Est-ce que j'ai bien compris ton souhait :
tu cherches à compiler un ensemble de .txt en un seul ?
Si c'est ça je pense pouvoir aider... le temps que je retrouve les commandes. (il me semble qu'l faut utiliser FOR et COPY)
Re: Copie de fichier en un
Posté : 11 mars 2012 23:02
par spawn
Oui c'est bien sa, ils sont tous dans le même répertoire
Re: Copie de fichier en un
Posté : 12 mars 2012 19:32
par spawn
est ce que sa peut t'aider ?
for /r "dossier" %%i in (*) do (
for /f "tokens=*" %%a in ('type "%%~fi"') do echo.%%a>>"fichier texte"
)
Re: Copie de fichier en un
Posté : 12 mars 2012 21:45
par Gorbinator
Alors j'ai une réponse mais un peu particulière: mes fichiers txt sont tous de la forme 01.txt, 02.txt, .... N.txt
Donc en ayant ce type de fichiers dans un seul répertoire TEMP, je fais pour les obtenir:
Code : Tout sélectionner
FOR /R %%I IN (%%I.txt) DO (
COPY %%I /V /-Y (*.txt) (\TEMP\*.txt)
ECHO planche %%I copiee
pause
)
ensuite il me reste à les mettre dans un seul .txt: j'ai mis le .bat qui suit dans le répertoire TEMP (mais il suffit de changer le répertoire), je sais pas bien pourquoi ça marche même quand je désactive la première boucle for:
Code : Tout sélectionner
for %%1 in (*.vdl) do (
set var=!var!%%1+
REM echo ------------------------------------
REM echo fichier %%1 ajouté
REM echo ------------------------------------
REM cls
set VrCompt=-1
)
Code : Tout sélectionner
:boucle
set test2=!var:~%VrCompt%,1!
set /a VrCompt+=1
if not "%test2%"=="" goto boucle
set /a VrCompt-=1
set final=!var:~0,%VrCompt%!
@copy /b %final% concatenation.txt
pause
J'ai dû récupérer ce programme sur le net... mais je maîtrise pas tout, par exemple il y a un délais énorme au lancement. Mais ça marche
Re: Copie de fichier en un
Posté : 12 mars 2012 22:50
par Gorbinator
J'ai trouvé plus simple:
Code : Tout sélectionner
for "C:\MonRep\" %%i in (*.txt) do for /f "delims=" %%j in ('type "%%i"') do echo %%j>> Concaténation.txt
ou alors
COPY montext1.txt + montexte2.txt montexte.txt
ça devrait être plus clair
Re: Copie de fichier en un
Posté : 13 mars 2012 19:05
par spawn
Merci je vais testé
Re: Copie de fichier en un
Posté : 13 mars 2012 19:36
par spawn
il me crée un fichier avec sa dedans
* Valeur de la ligne : for "F:\xml 2012 modifier\teste\" %i in (*.txt) do for /f "delims=" %j in ('type "%i"') do echo %j
Re: Copie de fichier en un
Posté : 13 mars 2012 20:28
par Gorbinator
Je pensais qu'il suffisait d'ajouter :
au début de ton .bat, mais je sèche.
Re: Copie de fichier en un
Posté : 13 mars 2012 20:37
par spawn
J'ai sa et pareil
Code : Tout sélectionner
@Echo Off
for "F:\xml 2012 modifier\teste\" %%i in (*.txt) do for /f "delims=" %%j in ('type "%%i"') do echo %%j>> Concatenation.txt