簡體   English   中英

使用C ++使用庫調用Powershell腳本

[英]Call powershell script with libraries using C++

我有一個名為“ email.ps1”的powershell腳本,其中包含以下代碼:

$env:PSModulePath = $env:PSModulePath + ";C:\TMP\codigos\powershell\libraries"

. library.ps1

. inithialize.ps1

(...)

我試圖使用C ++程序使用system命令調用它。 不幸的是,該程序無法找到庫“ library”和“ inithialize”,但是當我在不使用C ++程序的情況下使用powershell / cmd調用腳本時,它確實可以工作。

我已經嘗試過這些電話,但沒有成功

system("full_path_to_script/email.ps1")
system("powershell full_path_to_script/email.ps1")
system("powershell.exe full_path_to_script/email.ps1")

有任何想法嗎?

您是在點源library.ps1inithialize.ps1腳本,而不是使用Import-Module將它們作為模塊Import-Module 因此修改PSModulePath變量將無效,因為該變量僅由Import-Module使用。

在進行點源采購時,您將需要包括完整路徑,如下所示:

. C:\TMP\codigos\powershell\libraries\library.ps1
. C:\TMP\codigos\powershell\libraries\inithialize.ps1

或者,您可以將這些庫變成真正的PowerShell模塊。 看看msdn的幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM