2009-06-05 25 views
0

我有一個可擴展的第三方應用程序,通過添加執行數據轉換等的exe文件來擴展。我已經在Powershell中編寫了一個擴展,用於完成我想要的轉換,但是我無法讓第三方應用程序運行我的ps1,因爲它只接受一個.exe文件作爲擴展名。 該應用程序增加了一個文件名作爲第一個(也是唯一的)命令行參數的擴展,所以它運行的命令看起來像:Powershell.exe在cli或包裝器中運行腳本?

someprogram.exe somefile.xml 

我試圖把它與我的腳本作爲參數運行Powershell.exe ,但我一直無法弄清楚如何以及如何這是可能的。我試過的一些東西就像

powershell.exe myscript.ps1 

不起作用。我嘗試讓腳本找到正確的XML文件本身,但仍然無法讓Powershell從命令行運行並將腳本作爲參數運行。

接下來我想寫一個只運行Powershell腳本的小型.exe文件,但這甚至可能嗎?如果是這樣,有人能讓我朝正確的方向推動嗎?

+0

我想你需要澄清你的意思是「不行」。是否有錯誤訊息?當你嘗試自己運行它時會發生什麼,比如說運行對話框? – zdan 2009-06-05 18:51:06

回答

1

Powershell希望在腳本文件運行之前擁有合適的腳本文件路徑。所以,你需要或者使用

powershell.exe .\myscript.ps1 

如果它位於當前工作目錄(不太可能,容易打破這個用例),或使用完整路徑的腳本:

powershell.exe C:\Users\Foo\Scripts\myscript.ps1 

或類似。

+0

是的,我意識到這一點,但似乎我的應用程序無法應付這一點。我會再試一次,只是爲了確定,但我敢肯定,當我走這條路線時,命令行參數未被傳遞.... – tplive 2009-06-05 12:51:34

1

你也可以試試Powershell.exe -Command "& your-app.exe ${your-arguments}