« 260文字以上の長いパス名を短いパス名に変える。 | トップページ | バッチファイルで複数のPDFファイルを連続印刷する。(その2) »

2009年6月16日 (火)

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

/pの場合は、コマンドで印刷完了の待ち合わせができないので、1コマンドで複数ファイルを指定しちゃいます。

START ACRORD32.EXE /p /h "ファイル1" "ファイル2" ...

/tの場合は、1ファイル1コマンドで待ち合わせします。

START ACRORD32.EXE
START /WAIT ACRORD32.EXE /n /t "ファイル1"
START /WAIT ACRORD32.EXE /n /t "ファイル2"
...

最終的にアプリが1個残ります。

XP Pro以上なら、

setlocal
set /a n=0
for /f "skip=1 delims=" %%I in ('tasklist /nh /fi "imagename eq acrord32.exe"') do set /a n+=1
if %n%==0 START ACRORD32.EXE & ping -n 2 localhost >NUL
START /WAIT ACRORD32.EXE /n /t "ファイル1"
START /WAIT ACRORD32.EXE /n /t "ファイル2"
...
if %n%==0 taskkill /im ACRORD32.EXE

XP Home Editionの場合は、TLIST.EXEとKILL.EXEを入手して代替するか、WSHで。

« 260文字以上の長いパス名を短いパス名に変える。 | トップページ | バッチファイルで複数のPDFファイルを連続印刷する。(その2) »