windows - fusionering af flere csv-filer i cmd

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har flere csv-filer med stor størrelse i en mappe, siger


file1.csv
file2.csv
file3.csv
combine.csv 


Og hvis jeg skal kombinere (tilføje) dem alle ved hjælp af cmd, ved jeg, at jeg skal bruge


copy *.csv targetfile.csv


Mit spørgsmål er hvad, hvis jeg skal kombinere de csv-filer, der har navnet 'file' i det, der er file1.csv, file2.csv, file3.csv i dette tilfælde.

Bedste reference


@aschipfl har allerede besvaret dette i en kommentar, men jeg svarer på dette med nogle forklaringer:


copy file*.csv targetfile.csv


Ovennævnte løber kun en enkelt kopi-kommando for alle fil * .csv-filer, og en gang åbnes targetfile.csv og tilføjer hver filens indhold til det.


Hvis du har 100'erne af forskellige filnavne alt sammen med csv udvidelser, kan du også gøre dette og sikre, at du udelukker targetfile.csv


for \%i in (*.csv) do if not "\%i" == "MyTextOutput.csv" type \%i >> targetfile.csv


Den nøjagtig samme linje kan bruges i en batchfil ved blot at tilføje yderligere \% til variablerne.


@echo off
for \%\%i in (*.csv) do if not "\%\%i" == "MyTextOutput.csv" type >> \%\%i targetfile.csv