Powershell.exe在cli中运行脚本,还是包装器?

时间:2009-06-05 07:33:08

标签: powershell scripting executable powershell-v1.0

我有一个第三方应用程序可以通过添加执行dataconversion等的exe文件进行扩展。我在Powershell中编写了一个扩展程序来执行我想要的转换,但是我无法将第三方应用程序转到运行我的ps1,因为它只接受.exe文件作为扩展名。 该应用程序添加一个文件名作为扩展的第一个(也是唯一的)命令行参数,因此它运行的命令如下所示:

someprogram.exe somefile.xml

我试图让它以我的脚本作为参数运行Powershell.exe,但我无法弄清楚如何以及是否可能。我试过的一些东西

powershell.exe myscript.ps1

不起作用。我尝试让脚本找到正确的XML文件本身,但仍然不知何故我无法让Powershell运行命令行并将脚本作为参数并运行它。

接下来我考虑编写一个只运行Powershell脚本的小型.exe文件,但这是否可能?如果是的话,有人可能会朝着正确的方向推动我吗?

1 个答案:

答案 0 :(得分:1)

Powershell希望在运行脚本文件之前拥有一个合格的脚本文件路径。所以你需要使用

powershell.exe .\myscript.ps1

如果它位于当前工作目录中(不太可能并且容易因此用例而中断)或使用脚本的完整路径:

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

或类似。