web-dev-qa-db-fra.com

Sous MS-DOS, copier plusieurs fichiers dans un seul fichier

J'essaie de prendre un dossier contenant plusieurs fichiers .csv et de combiner tous ces fichiers et les informations qu'ils contiennent dans un seul fichier à l'aide de MS DOS. Aucune suggestion?

15
edmon
copy *.csv new.csv

Pas besoin de/b car csv n'est pas un type de fichier binaire.

31
marto
copy /b file1 + file2 + file3 newfile

Chaque fichier source doit être ajouté à la commande de copie avec un +, et le dernier nom de fichier répertorié correspond à l'emplacement de copie des données concaténées.

17
Marc B

Si cela fait partie d'un script de traitement par lots (fichier .bat) et que vous avez une longue liste de fichiers, vous pouvez utiliser un ^ sur plusieurs lignes et un indicateur facultatif /Y pour supprimer l'invite à confirmer la suppression d'un fichier de destination existant.

REM Concatenate several files to one
COPY /Y ^
    this_is_file_1.csv + ^
    this_is_file_2.csv + ^
    this_is_file_3.csv + ^
    this_is_file_4.csv + ^
    this_is_file_5.csv + ^
    this_is_file_6.csv + ^
    this_is_file_7.csv + ^
    this_is_file_8.csv + ^
    this_is_file_9.csv ^
        output_file.csv

C'est plus ordonné que d'exécuter la commande sur une seule ligne.

3
Mike T
for %f in (filenamewildcard0, filenamewildcard1, ...) do echo %f >> newtargetfilename_with_path

Même idée que Mike T; pourrait mieux fonctionner sous la limite de 127 caractères de la ligne de commande de MessyDog 

1
ColdFultonBSD

les noms de fichiers doivent trier correctement pour combiner correctement!

file1.bin file2.bin ... file10.bin ne fonctionnera pas correctement

file01.bin file02.bin ... file10.bin va fonctionne correctement

c:>for %i in (file*.bin) do type %i >> onebinary.bin

Fonctionne pour les fichiers ascii ou binaires.

1
James Foote
type data1.csv > combined.csv
type data2.csv >> combined.csv
type data3.csv >> combined.csv
type data4.csv >> combined.csv

etc.

Supposons que vous utilisez des fichiers sans en-tête et que tous les fichiers ont les mêmes colonnes.

0
Codebeat