我正在尝试使用MS DOS将一个包含多个.csv文件的文件夹中的所有文件和其中的信息合并到一个文件中。有什么建议吗?
copy *.csv new.csv
不需要使用 /b,因为 CSV 不是二进制文件类型。
copy /b file1 + file2 + file3 newfile
每个源文件都必须使用+
添加到复制命令中,最后一个列出的文件名将是连接数据所复制到的位置。
如果这是批处理脚本(.bat
文件)的一部分,并且你有一个大文件列表,你可以使用多行^
,以及可选的/Y
标志来抑制提示,确认您想要覆盖现有的目标文件。
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
将命令拆分成多行比在一行上执行命令更整洁。
type data1.csv > combined.csv
type data2.csv >> combined.csv
type data3.csv >> combined.csv
type data4.csv >> combined.csv
假设您使用没有标题的文件,并且所有文件具有相同的列。
文件名必须正确排序才能正确组合!
file1.bin file2.bin ... file10.bin
不会正常工作
file01.bin file02.bin ... file10.bin
将会 正常工作
c:>for %i in (file*.bin) do type %i >> onebinary.bin
适用于 ASCII 或二进制文件。
for %i in (*.csv) do type "%i" >> onefile.csv
- Warwick Fosterfor %f in (filenamewildcard0, filenamewildcard1, ...) do echo %f >> newtargetfilename_with_path
请确保您已经映射了Y盘,或者将所有文件复制到本地目录c:/local中
c:/local> 复制 *.* c:/newfile.txt
y
盘...好像有什么奇怪的东西...在附近。你会叫谁?https://www.youtube.com/watch?v=BMPcuZZgmtE - rayryeng