Answers:
more +2 file2.txt > temp
type temp file1.txt > out.txt
或者您可以使用copy
。查看copy /?
更多。
copy /b temp+file1.txt out.txt
copy /b *.txt combined.txt
单独列出文件即可进行操作。
type file1.txt temp > out.txt
实际附加第二个文件,而第一个文件不带标题
我用这个,对我来说很好用:
TYPE \\Server\Share\Folder\*.csv >> C:\Folder\ConcatenatedFile.csv
当然,在每次运行之前,您必须 DELETE C:\Folder\ConcatenatedFile.csv
唯一的问题是,如果所有文件都具有标题,那么它将在所有文件中重复。
我的信誉点不足,无法对要使用的建议进行评论*.csv >> ConcatenatedFile.csv
,但是我可以添加警告:
如果您ConcatenatedFile.csv
在用于连接的同一目录中创建文件,它将被添加到自身中。
使用FOR命令逐行回显文件,并使用'skip'选项忽略许多起始行...
FOR /F "skip=1" %i in (file2.txt) do @echo %i
您可以重定向包含以下内容的批处理文件的输出:
FOR /F %%i in (file1.txt) do @echo %%i
FOR /F "skip=1" %%i in (file2.txt) do @echo %%i
在批处理文件中使用FOR变量时,请注意双精度%。
我会将其放在ghostdog74的注释中,除非我的代表太低,所以就到这里。
more +2 file2.txt > temp
此代码实际上将忽略文件的第1行和第2行。OP希望保留第一个文件中的所有行(以维护标题行),然后排除第二个文件中的第一行(可能是相同的标题行),因此要排除仅OP应该使用的标题行more +1
。
type temp file1.txt > out.txt
尚不清楚此代码产生什么顺序。被temp
附加到file1.txt
(根据需要)或被file1.txt
附加到temp
(不希望这样做,因为标题行将被埋在结果文件的中间)。
此外,这些操作要花费大量时间(例如300MB),需要很长时间
我知道您说过您无法安装任何软件,但是我不确定该限制有多严格。无论如何,我遇到了同样的问题(试图将两个文件的标题连接在一起),并且我想为到达此页面的其他人提供替代答案,因为它对我来说非常有用。
在Windows中尝试了一堆命令并感到非常沮丧之后,还尝试了各种图形编辑器,这些图形编辑器承诺能够打开大文件,但后来却无法,我终于回到Linux根目录并打开了Cygwin提示。两个命令:
cp file1.csv out.csv
tail -n+2 file2.csv >> out.csv
对于file1.csv
800MB和file2.csv
400MB,这两个命令在我的计算机上花费了不到5秒的时间。在Cygwin提示下,同样如此。我以为Linux命令在Cygwin中应该很慢,但是这种方法花费的精力少得多,而且比我能找到的任何Windows方法都容易得多。
的帮助copy
说明通配符可用于将多个文件连接为一个文件。
例如,要将当前文件夹中所有以“ abc”开头的.txt文件复制到一个名为xyz.txt的文件中:
copy abc*.txt xyz.txt
copy
命令要快得多,但是它将SUB字符放在末尾。有办法避免这种情况吗?