COMMENT CONCATENER PLUSIEURS FICHIERS TXT - Programmation
Marsh Posté le 23-08-2001 à 15:50:34
simple
tu cree un fichier cible tu l'ouvre tu recopie les != fichier l'un derierre l'autre et tu referme ton field descriptor
fd1 = open("cible.txt",O_WONLY);
tant que fichier source
fd2 = open("source1.txt",O_RONLY);
tant que fichier source != vide
read dans le fd2
write dans le fd1
close(fd2)
close(fd1);
et zou
Marsh Posté le 23-08-2001 à 16:10:59
Il y a une commande DOS qui permet de le faire, mais le problème est de savoir si cela sera dans le bon ordre (peut-être l'ordre de création (date/heure)).
c'est
for %f in (*.txt) do copy *.txt >> cumul.txt
Le >> permet de concaténer . Si cumul.txt n'existe pas (il vaut mieux sinon ca va se mordre la queue !!), il sera créé.
Marsh Posté le 23-08-2001 à 16:12:20
1) tu vas dans le repertoire ou sont tes fichiers et tu fais un
dir fil*.txt /b > list.bat
2) tu edites le .bat dans Word et tu remplaces
.txt^p
par
.txt /a +
3)tu ajoutes en debut de ligne
copy
4) en fin de ligne tu vires le dernier + et tu ajoutes
fils.txt /a
ca va te faire une ligne:
copy fils0001.txt /a + fils0002.txt /a + .... + fils5000.txt /a fils.txt /a
ca devrait marcher...
pense a faire une sauvegarde avant, un accident est si vite arrivé
Marsh Posté le 23-08-2001 à 16:16:04
heu...
copy base_name* concat.txt
ça marche pas sous DOS ?
Marsh Posté le 23-08-2001 à 16:21:30
Sous win 2000 la commande DOS suivante doit marcher (à mettre dans un BAT). Créer d'abord un fichier résult.txt vide :
For /L %%L in (0,1,4) DO FOR /L %%K in (0,1,9) DO FOR %%J in (0,1,9) DO FOR %%I in (0,0,9) DO copy /A result.txt+file%%L%%K%%J%%I.txt result.txt
copy /A result.txt+file5000.txt result.txt
NB : il doit falloir créer un fichier texte vide file000.txt
A+
Marsh Posté le 23-08-2001 à 16:22:34
minusplus> j'aurais appris qqchose aujourd'hui
ca a l'air en effet de marcher (je suis avec 2k)
[edtdd]--Message édité par JWhy--[/edtdd]
Marsh Posté le 23-08-2001 à 16:29:12
Celà marche effectivement, mais je ne sais pas si les fichiers sont copiés dans l'ordre. Je pense qu'ils sont copiés selon l'ordre de création sur le disque. Si tu dois assurer la copie dans l'ordre, ma méthode (que je n'ai pas testée) doit marcher
A+
Marsh Posté le 23-08-2001 à 16:32:14
Ca marche sous WinNT4 aussi.
C'est une contraction que je ne connaissais pas, bien que très "agé".
Avec > ce serait catastrophique ...
Marsh Posté le 23-08-2001 à 16:34:08
Pour la méthode JWhy, y a peut-être pb de longueur de ligne DOS...
Marsh Posté le 23-08-2001 à 15:20:44
Je recherche une commande dos ou fichier batch permettant de concaténer 5000 fichiers texte.
Je dois les fusionner dans un seul fichier.
le nom des fichiers sont fils0001.txt à file5000.
Sinon un petit prog en c++ ?
Merci d' avance à tout ceux qui veulent bien m' aider.