私は、PowerShellスクリプトをバックグラウンドで実行するPython GUIでプリンタを接続できるアプリケーションを作成しています。私は、Pythonウィジェットから入力された変数をPythonが呼び出すPowerShellスクリプトに渡す方法があるかどうか疑問に思っていました。この変数は、私がPythonで指定することができるプリンタの名前になるので、プリンタごとに別々のスクリプトを作成する必要はありません。Python GUIからPowerShellに変数を渡す
PSスクリプトに呼びかけPythonで私のコード:プリンタをコンピュータに接続し
def connect():
if self.printerOpts.get() == 'Chosen Printer':
subprocess.call(["C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe",'-ExecutionPolicy','Unrestricted', '.\'./ScriptName\';'])
PSスクリプト:私は、Pythonから変数を渡すことができれば
Add-Printer -ConnectionName \\server\printer -AsJob
は基本的に、私は疑問に思って私のPSスクリプトの「プリンタ」部分に追加して、追加したい各プリンタ用の別のスクリプトを作成する必要がなくなりました。
ありがとうございますgmss0ulman。私は変更を適用することができましたが、PowerShellは「指定されたサーバーは存在しません」というエラーを表示しており、プリンタは追加されなくなりました。 – JDawg
@JDawg Hmm .. PowerShellに渡す文字列はどのように見えますか?たぶん '\\ server \ $ printer'の代わりに' $ printer'でなければならないかもしれません – gms0ulman
@ gmss0ulman私はあなたのPSスクリプトを使って、Pythonスクリプトにいくつかの変更を加えました。私はあなたが好奇心が強いかどうか質問に私の答えを掲載した。どうもありがとうございます! – JDawg