คุณสามารถสร้างรายการไฟล์ PDF ที่เรียงลำดับตามวันที่สร้าง:
dir /b /tc /od *.pdf > my-pdf-filelist.txt
(ถ้าคุณต้องการรายการ - แทนที่จะเรียงตามเวลาการสร้าง - การเรียงลำดับ happing ตามเวลาเข้าถึงใช้ ' /ta
' แทน ' /tc
' ถ้าคุณต้องการเรียงตามเวลาที่ปรับเปลี่ยนให้ใช้ ' /tw
')
จากนั้นใช้รายการนี้เพื่อสร้าง listfile ชั่วคราวอีกอันหนึ่งที่มีการประทับเวลาและชื่อไฟล์ PDF ที่เพิ่มวันที่ + เวลาในบรรทัดเดียวกัน:
for /f "usebackq" %i in (my-pdf-filelist.txt) ^
do (echo. %~ti %~nxi >> my-pdf-filelist.2)
ตอนนี้ตรวจสอบว่ารายการไฟล์ของคุณmy-pdf-filelist.2
มีบรรทัดที่มีลักษณะดังนี้:
05/27/2009 06:08 AM fontproblems-in-footer-16_9_1557.pdf
01/20/2010 09:22 AM trainschedule-hannover.pdf
06/05/2010 07:30 PM Figure_001-a.pdf
รูปแบบการประทับเวลาของคุณอาจแตกต่างกันไปขึ้นอยู่กับการตั้งค่าภาษา + ภาษาของคุณและคุณอาจต้องปรับเปลี่ยนขั้นตอนต่อไปนี้ ในกรณีของฉันฉันต้องดูแล "AM / PM" thingie รวมถึง datestring เพื่อให้แน่ใจว่าชื่อไฟล์ในเวลาต่อมาจะเรียงตามลำดับตัวอักษรที่เหมือนกันกับลำดับเวลาที่บันทึกไว้
ขั้นสุดท้ายใช้ listfile ชั่วคราวนี้เพื่อเปลี่ยนชื่อไฟล์เดิมของคุณเพื่อให้มีการประทับเวลาเป็นคำนำหน้าเป็นชื่อเดิม แต่ก่อนอื่นทดสอบคำสั่งที่ตั้งใจไว้ดังนี้:
for /f "usebackq tokens=1,2,3,4,5,6,7 delims=/: " %i in (my-pdf-filelist.2) ^
do (echo. "%o" will be renamed to: "%k-%j-%i-%n-%l-%m-%o")
ตรวจสอบอย่างละเอียดว่าจะใช้งานได้ตามที่ตั้งใจหรือไม่ สุดท้ายทำการเปลี่ยนชื่อจริง:
for /f "usebackq tokens=1,2,3,4,5,6,7 delims=/: " %i in (my-pdf-filelist.2) ^
do (ren "%o" "%k-%j-%i-%n-%l-%m-%o")
ตอนนี้ PDF ของคุณถูกตั้งชื่อในลักษณะที่ทำให้ 'เรียงตามลำดับตัวอักษร' == 'ลำดับเวลาประทับ' คุณก็สามารถเรียกใช้pdftk.exe
:
pdftk.exe *.pdf cat output merged.pdf