2009-06-05 46 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}