让我的Python程序运行Power Shell Script

时间:2018-01-18 22:14:37

标签: python powershell

您好请原谅我,如果我的问题重复,我已经搜索过以前的问题,似乎没有什么是相同的。我正在开发一个程序,它将扫描特定文件夹并搜索特定文件类型,以创建供用户选择的菜单。一旦用户选择菜单选项,相应的文件即电源shell脚本。目前我的程序可以执行所有操作,但运行简单的电源shell脚本。我尝试了几种配置,但它无法正常工作。如果有人能够看到我可能做错了什么或给我提供一些指示,那将是很棒的。代码如下。

    define('mobiledetect', ['https://cdnjs.cloudflare.com/ajax/libs/mobile-detect/1.3.6/mobile-detect.min.js'], function () {
       var md = new MobileDetect(window.navigator.userAgent);
       return md;
   });

1 个答案:

答案 0 :(得分:0)

你可能已经想到了这一点,但问题出在subprocess.call()行。您将powershell.exe路径和目标文件名连接在一起。见这里:

>>> scriptToRun = "c:\\users\\Username\\Documents\\WindowsPowerShell\\classtestscript.ps1"
>>> powershellExe = "c:\\windows\\system32\\windowspowershell\\v1.0\\powershell.exe"
>>> print(powershellExe + scriptToRun)
c:\windows\system32\windowspowershell\v1.0\powershell.exec:\users\Username\Documents\WindowsPowerShell\classtestscript.ps1

在上面,两根琴弦粘在一起,两者之间没有空格。 Windows无法理解您要执行的操作。

在两者之间加一个空格,subprocess.call()会理解你要做的事情:

>>> print(powershellExe + ' ' + scriptToRun)
c:\windows\system32\windowspowershell\v1.0\powershell.exe c:\users\Username\Documents\WindowsPowerShell\classtestscript.ps1