2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ

« バッチファイルで複数のPDFファイルを連続印刷する。(その2) | トップページ | Adobe Readerはマルチインスタンスサーバです。 »

2009年6月18日 (木)

バッチファイルで複数のPDFファイルを連続印刷する。(その3)

XP Home Editionの場合は、WSHでやるのが素直ですが、無理矢理バッチでやると。

PdfPrintHE.CMD PDFファイル...(複数可、ワイルドカード可)

@echo off
setlocal
set ACTIVE=
for /f %%I in ('start /min /b /wait mshta.exe vbscript:execute("createobject(""scripting.filesystemobject"").getstandardstream(1).write createobject(""wscript.shell"").appactivate(""adobe reader""):close:"^)') do set ACTIVE=%%I
if /i %ACTIVE%==true goto :STARTED
START ACRORD32.EXE /n /h
:STARTING
for /f %%I in ('start /min /b /wait mshta.exe vbscript:execute("createobject(""scripting.filesystemobject"").getstandardstream(1).write createobject(""wscript.shell"").appactivate(""adobe reade""):close:"^)') do if /i %%I==false goto :STARTING
:STARTED
for %%I in (%*) do START /WAIT ACRORD32.EXE /n /t %%I
if /i %ACTIVE%==false start /min /b /wait mshta.exe vbscript:execute("set wshell=createobject(""wscript.shell""):if wshell.appactivate(""adobe reade"") then wshell.sendkeys ""^q"":close:")

ここで、
appactivate("adobe reader")

appactivate("adobe reade")
の微妙な違いには意味があります。後者は前方一致です。

« バッチファイルで複数のPDFファイルを連続印刷する。(その2) | トップページ | Adobe Readerはマルチインスタンスサーバです。 »