我需要将许多单页pdf的页面大小信息包含在他们的文件名中。例如。 " 150x250mm.pdf&#34 ;.我发现没有renamer应用程序能够做到这一点。我怀疑这可以使用批处理文件和pdfinfo.exe(来自xpdf套件)完成,但我不知道如何使用它..你能给我一些提示吗?
答案 0 :(得分:1)
是的,您可以将postscript积分转换为MM。在这种情况下,脚本位于包含要重命名的PDF的顶级文件夹中。它确实进入了子文件夹。如果您不想要或不需要,请从第5行的dir命令中删除/ s。根据需要更改路径。
@echo off
setlocal enabledelayedexpansion
set "pdfi=U:\Scripts\Utilities\xpdf\pdfinfo.exe"
for /f "delims=" %%a in ('dir /b /s *.pdf') do (
for /f "tokens=3,5 delims= " %%b in (
'%pdfi% -meta "%%a"^|find /i "Page size:"') do (
set pts=%%b %%c
for %%d in (!pts!) do (
call :Eval %%d*.352777778 mm
set "mm1=!mm1!x!mm!"
)
ren "%%~dpfnxa" "!mm1:~1!.pdf"
set mm1=
)
)
exit /b
:Eval <in> <out>
setlocal
if exist eval.vbs del eval.vbs
>eval.vbs echo wsh.echo formatnumber(eval("%1"),0)
for /f "delims=" %%a in (
'cscript //nologo eval.vbs'
) do endlocal & set %~2=%%a
del eval.vbs