You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用CMD按顺序合并Windows备份中的多个分片文件?

问题原因

你当前的写法是在循环内重复执行单文件复制操作,copy /b命令在仅传入单个源文件、单个目标文件时,默认会直接覆盖目标文件的已有内容,因此每次循环都会把之前合并好的内容清空,仅保留当前分片的内容,最终得到的自然只有最后一个分片的数据。

解决方法

你可以选择以下任意一种方式实现按顺序追加合并:

  • 方式一:提前拼接所有分片路径,单次执行copy命令完成合并
    先执行命令拼接所有分片路径:

    for /f "tokens=* delims=" %A in (filenamesinorder.txt) do set "merge_list=%merge_list%+%A"
    

    再执行合并命令,自动去掉路径开头多余的加号:

    copy /b %merge_list:~1% "c:\pstcombiner\combined.pst"
    

    该方式执行效率更高,适合分片数量不多的场景。

  • 方式二:循环内逐次追加内容到目标文件
    先删除可能存在的旧合并文件避免干扰:

    del /f /q "c:\pstcombiner\combined.pst" 2>nul
    

    再执行逐次追加的循环命令:

    for /F "tokens=*" %A in (filenamesinorder.txt) do if exist "c:\pstcombiner\combined.pst" (copy /b "c:\pstcombiner\combined.pst"+"%A" "c:\pstcombiner\combined.pst") else (copy /b "%A" "c:\pstcombiner\combined.pst")
    

    该方式无需提前拼接长路径,适合分片数量极多的场景。

注意事项
  • 如果将上述命令写入.bat批处理文件运行,需要把所有变量标识%A替换为%%A,否则会出现变量识别错误。
  • 所有涉及的文件路径如果包含空格,必须用双引号包裹,避免命令解析失败。

内容的提问来源于stack exchange,提问作者Addioioi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 02:12:02