找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26370|回复: 8

[文件操作] (已解决)有偿求助,pdf批量重复合并的批处理

[复制链接]
发表于 2020-8-28 13:39:03 | 显示全部楼层 |阅读模式
本帖最后由 qiqing 于 2020-8-28 18:48 编辑

可以用pdftk软件,用批处理命令,
例如:a.pdf,b.pdf,c.pdf。。。。。。
合并:a.pdf+a.pdf,b.pdf+b.pdf,c.pdf+c.pdf。。。。。。(重复合并)
结果:a.pdf,b.pdf,c.pdf。。。。。。(合并后文件名不变)
如果不清楚,可以再问我!415235501
发表于 2020-8-28 13:53:46 | 显示全部楼层
本帖最后由 zaqmlp 于 2020-8-28 15:04 编辑
  1. @echo off
  2. mode con lines=3000
  3. cd /d "%~dp0"
  4. set "exefile=pdftk.exe"
  5. set "oldfolder=合并前"
  6. set "newfolder=合并后"
  7. if not exist "%exefile%" (echo;"%exefile%" not found&pause&exit)
  8. if not exist "%oldfolder%" (echo;"%oldfolder%" not found&pause&exit)
  9. if not exist "%newfolder%" md "%newfolder%"
  10. for /f "delims=" %%a in ('dir /a-d/b "%oldfolder%\*.pdf"') do (
  11.     echo;"%%a"
  12.     "%exefile%" "%oldfolder%\%%~nxa" "%oldfolder%\%%~nxa" cat output "%newfolder%\%%~nxa"
  13. )
  14. pause
  15. exit
复制代码
 楼主| 发表于 2020-8-28 14:15:43 | 显示全部楼层
回复 2# zaqmlp


    非常感谢,从你头像,给你20块钱红包
 楼主| 发表于 2020-8-28 14:49:55 | 显示全部楼层
回复 2# zaqmlp


    麻烦帮我修改一下,就上面的,待合并文档a.pdf,b.pdf,c.pdf。。。。。。放置文件夹“合并前”,而合并后文档,放置文件夹“合并后”
发表于 2020-8-28 15:02:45 | 显示全部楼层
回复 4# qiqing
  1. @echo off
  2. cd /d "%~dp0"
  3. set "exefile=pdftk.exe"
  4. if not exist "%exefile%" (echo;"%exefile%" not found&pause&exit)
  5. md "合并后" 2>nul
  6. for /f "delims=" %%a in ('dir /a-d /b "合并前\*.pdf"') do (
  7.     echo;"合并前\%%a"
  8.     "%exefile%" "合并前\%%a" "合并前\%%a" cat output "合并后\%%~nxa"
  9. )
复制代码
 楼主| 发表于 2020-8-28 15:15:54 | 显示全部楼层
回复 5# Batcher


感谢,麻烦再帮我写一个
例如
合并前:a.pdf,b.pdf,c.pdf。。。。。。
随机:1.pdf,2.pdf,3.pdf。。。。。。(文件夹“随机”,随机抽取里面的文档进行合并,)
合并后:a.pdf+2.pdf,b.pdf+3.pdf,c.pdf+1.pdf。。。。。。(合并后的文件名,保持与合并前的文件名不变)
 楼主| 发表于 2020-8-28 17:54:10 | 显示全部楼层
回复 2# zaqmlp


    感谢,麻烦再帮我写一个,完了再给你个红包
例如
合并前:a.pdf,b.pdf,c.pdf。。。。。。
随机:1.pdf,2.pdf,3.pdf。。。。。。(文件夹“随机”,随机抽取里面的文档进行合并,)
合并后:a.pdf+2.pdf,b.pdf+3.pdf,c.pdf+1.pdf。。。。。。(合并后的文件名,保持与合并前的文件名不变)
发表于 2020-8-28 18:14:23 | 显示全部楼层
回复 7# qiqing
  1. @echo off
  2. mode con lines=3000
  3. cd /d "%~dp0"
  4. set "exefile=pdftk.exe"
  5. set "oldfolder1=合并前"
  6. set "oldfolder2=随机"
  7. set "newfolder=合并后"
  8. if not exist "%exefile%" (echo;"%exefile%" not found&pause&exit)
  9. if not exist "%oldfolder1%" (echo;"%oldfolder1%" not found&pause&exit)
  10. if not exist "%oldfolder2%" (echo;"%oldfolder2%" not found&pause&exit)
  11. if not exist "%newfolder%" md "%newfolder%"
  12. for /f "tokens=1* delims=:" %%a in ('dir /a-d/b "%oldfolder2%\*.pdf"^|findstr /n .*') do (
  13.     set "#%%a=%%b"
  14.     set n=%%a
  15. )
  16. setlocal enabledelayedexpansion
  17. for /f "delims=" %%a in ('dir /a-d/b "%oldfolder1%\*.pdf"') do (
  18.     set /a "r=!random! %% n+1"
  19.     for /f %%b in ("!r!") do (
  20.         echo;"%oldfolder1%\%%~nxa"+"%oldfolder2%\!#%%b!"
  21.         "%exefile%" "%oldfolder1%\%%~nxa" "%oldfolder2%\!#%%b!" cat output "%newfolder%\%%~nxa"
  22.     )
  23. )
  24. pause
  25. exit
复制代码
 楼主| 发表于 2020-8-28 18:47:45 | 显示全部楼层
回复 8# zaqmlp


    OK,支付宝给了红包
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 06:38 , Processed in 0.019579 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表