移动时是否可以将 2 个文本文件合并为 1 个更大的文件?Robocopy 是我现在使用的,但对其他选项持开放态度。
我有几个“计算”服务器将类似 CSV 的数据输出到单个文本文件中。然后将这些文件移动到“加载”服务器,该服务器将数据批量导入数据库服务器。
我们有很多小文件,并且在 db 导入端使用较小的较大文件进行了显着改进。
有人有解决方案吗?问题
EOF's
或者
\r\n's
?
移动时是否可以将 2 个文本文件合并为 1 个更大的文件?Robocopy 是我现在使用的,但对其他选项持开放态度。
我有几个“计算”服务器将类似 CSV 的数据输出到单个文本文件中。然后将这些文件移动到“加载”服务器,该服务器将数据批量导入数据库服务器。
我们有很多小文件,并且在 db 导入端使用较小的较大文件进行了显着改进。
有人有解决方案吗?问题
EOF's
或者
\r\n's
?
试试这个(例子):
copy /a file1.txt + file2.txt + file3.txt + file4.txt = file.txt
我想这就是你要找的..
TYPE FILEA.TXT>FILEC.TXT
TYPE FILEB.TXT>>FILEC.TXT
注意:如果你使用一个>,它每次都会覆盖文件。如果你使用>>,它会追加。
既然您说您有很多小文件,您也可以执行以下操作:
FOR /F %%G IN ('DIR "D:\RESEARCH\Kent\*.TXT" /B') DO (TYPE "D:\RESEARCH\Kent\%%G">>D:\SOMEBIGFILE.TXT)
pause
修改了我的答案,它在我刚刚检查过的服务器上运行良好。一个“陷阱”是您拥有 SOMEBIGFILE.TXT 的地方 - 如果它在同一个文件夹中,它也会添加它。:)
for /f "delims==" %%i in ('dir "\\server\share\data*.txt" /b') do (type "\\server\share\%%i">>new.txt&&echo.>>new.txt)
"delims==" 是抓取文件名,即使有空格,%%i 用于批处理文件,在命令行使用 %i。“引号”用于文件名中的空格,/b 用于裸格式以摆脱其他信息,即回声。是阻止 file2 的第一行连接到 file1 的最后一行。new.txt 将在您运行它的目录中。