Python で Windows のプリンタスプールを削除する

Windows XP で印刷をキャンセルしたり、印刷キューに残っている印刷ジョブを削除したりする方法 (KB946737) のメモ

import os
import win32serviceutil

# スプールファイルの保存先
spooled_dir = os.path.join(
        os.environ.get('SYSTEMROOT', r'C:\WINDOWS'),
        'system32', 'spool', 'printers', )
win32serviceutil.StopService('spooler')
for f in os.listdir(spooled_dir):
    os.remove(os.path.join(spooled_dir, f))
win32serviceutil.StartService('spooler')

StopService の後もプロセスがしばらくファイルをつかんじゃって消せない場合もある

コメント

このブログの人気の投稿

Python から Win32 API 経由で印刷する

財務諸表 (Financial Statements)

Django と Python 3 - #python_adv