标题: [文件操作] (已解决)有偿求助,pdf批量重复合并的批处理 [打印本页]
作者: qiqing 时间: 2020-8-28 13:39 标题: (已解决)有偿求助,pdf批量重复合并的批处理
本帖最后由 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
作者: zaqmlp 时间: 2020-8-28 13:53
本帖最后由 zaqmlp 于 2020-8-28 15:04 编辑
- @echo off
- mode con lines=3000
- cd /d "%~dp0"
- set "exefile=pdftk.exe"
- set "oldfolder=合并前"
- set "newfolder=合并后"
- if not exist "%exefile%" (echo;"%exefile%" not found&pause&exit)
- if not exist "%oldfolder%" (echo;"%oldfolder%" not found&pause&exit)
- if not exist "%newfolder%" md "%newfolder%"
- for /f "delims=" %%a in ('dir /a-d/b "%oldfolder%\*.pdf"') do (
- echo;"%%a"
- "%exefile%" "%oldfolder%\%%~nxa" "%oldfolder%\%%~nxa" cat output "%newfolder%\%%~nxa"
- )
- pause
- exit
复制代码
作者: qiqing 时间: 2020-8-28 14:15
回复 2# zaqmlp
非常感谢,从你头像,给你20块钱红包
作者: qiqing 时间: 2020-8-28 14:49
回复 2# zaqmlp
麻烦帮我修改一下,就上面的,待合并文档a.pdf,b.pdf,c.pdf。。。。。。放置文件夹“合并前”,而合并后文档,放置文件夹“合并后”
作者: Batcher 时间: 2020-8-28 15:02
回复 4# qiqing - @echo off
- cd /d "%~dp0"
- set "exefile=pdftk.exe"
- if not exist "%exefile%" (echo;"%exefile%" not found&pause&exit)
- md "合并后" 2>nul
- for /f "delims=" %%a in ('dir /a-d /b "合并前\*.pdf"') do (
- echo;"合并前\%%a"
- "%exefile%" "合并前\%%a" "合并前\%%a" cat output "合并后\%%~nxa"
- )
复制代码
作者: qiqing 时间: 2020-8-28 15:15
回复 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。。。。。。(合并后的文件名,保持与合并前的文件名不变)
作者: qiqing 时间: 2020-8-28 17:54
回复 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。。。。。。(合并后的文件名,保持与合并前的文件名不变)
作者: zaqmlp 时间: 2020-8-28 18:14
回复 7# qiqing - @echo off
- mode con lines=3000
- cd /d "%~dp0"
- set "exefile=pdftk.exe"
- set "oldfolder1=合并前"
- set "oldfolder2=随机"
- set "newfolder=合并后"
- if not exist "%exefile%" (echo;"%exefile%" not found&pause&exit)
- if not exist "%oldfolder1%" (echo;"%oldfolder1%" not found&pause&exit)
- if not exist "%oldfolder2%" (echo;"%oldfolder2%" not found&pause&exit)
- if not exist "%newfolder%" md "%newfolder%"
- for /f "tokens=1* delims=:" %%a in ('dir /a-d/b "%oldfolder2%\*.pdf"^|findstr /n .*') do (
- set "#%%a=%%b"
- set n=%%a
- )
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /a-d/b "%oldfolder1%\*.pdf"') do (
- set /a "r=!random! %% n+1"
- for /f %%b in ("!r!") do (
- echo;"%oldfolder1%\%%~nxa"+"%oldfolder2%\!#%%b!"
- "%exefile%" "%oldfolder1%\%%~nxa" "%oldfolder2%\!#%%b!" cat output "%newfolder%\%%~nxa"
- )
- )
- pause
- exit
复制代码
作者: qiqing 时间: 2020-8-28 18:47
回复 8# zaqmlp
OK,支付宝给了红包
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |