2012-05-14 38 views
0

所以我想以編程方式添加打印機,並且出現0x00000709錯誤。我的Python腳本/ Powershell使用有問題嗎?

這是什麼原因造成的?我懷疑在我的代碼的東西可能有點過:

import subprocess 
def printerSetup(printer): 
    subprocess.call(r'Cscript c:/windows/System32/Printing_Admin_Scripts/en-US/Prnport.vbs -a -r "' + printer + '.print.mediag.com" -h "' + printer + '.print.mediag.com" -o raw') 
    if printer == 'jupiter': 
     subprocess.call(r'rundll32 printui.dll, PrintUIEntry /if /b "' + str.title(printer) + '" /u /y /f w:\printers\\toshibae3511\eng\est_c2.inf /r "' + printer + '.print.mediag.com" /m "TOSHIBA e-STUDIO Color PS3"') 
    elif printer == 'saturn' or printer == 'neptune': 
     subprocess.call(r'rundll32 printui.dll, PrintUIEntry /if /b "' + str.title(printer) + '" /u /f w:\printers\\toshibae3511\eng\est_c2.inf /r "' + printer + '.print.mediag.com" /m "TOSHIBA e-STUDIO Color PS3"') 
    elif printer == 'mercury': 
     subprocess.call(r'rundll32 printui.dll, PrintUIEntry /if /b "' + str.title(printer) + '" /u /f w:\printers\dell1720\drivers\print\dell1720\DKABJ740.inf /r "' + printer + '.print.mediag.com" /m "Dell Laser Printer 1720dn"') 
    elif printer == 'sonic' or printer == 'pangea': 
     subprocess.call(r'rundll32 printui.dll, PrintUIEntry /if /b "' + str.title(printer) + '" /u /f w:\printers\HPUniversalPS_x64\hpcu112v.inf /r "' + printer + '.print.mediag.com" /m "HP Universal Printing PS"') 

printerList = ["neptune", "saturn", "mercury", "jupiter", "sonic", "pangea"] 

for x in printerList: 

    printerSetup(x) 

現在,這些打印機可以肯定的是添加到網絡中,而我要求的Windows打印腳本 - 會不會是一些與我清單?

+0

一點上是Python的,通常,如果'打印機[」 saturn','neptune']:如果打印機=='saturn'或打印機=='neptune':',則首選''。 –

+0

謝謝!始終保持句法正確。 –

+0

您確定您的打印機名稱和路徑是否正確?該錯誤似乎與不正確的打印機標識符有關。 –

回答