在包含尖括号的工作目录中执行powershell

时间:2014-07-15 23:21:28

标签: powershell powershell-v2.0 windows-server-2008-r2

假设我在路径中有尖括号的目录中有两个文件(例如c:\foo[bar]

  • test.ps1
  • test.bat

test.ps1我所拥有的只是:

"HelloWorld"

test.bat我有:

powershell -file test.ps1
echo %errorlevel%

如果我安装了powershell v2,如果我从命令提示符执行test.bat,使用foo[bar]中的工作目录,我会从ps脚本获得“HelloWorld”输出,但错误代码 1 回显到控制台。当路径不包含尖括号或在安装了powershell v3的情况下(输出“HelloWorld”并且 0 作为错误代码返回)时,不会发生这种情况。

将powershell v2可执行文件与-file开关一起使用时,这似乎是一个问题。我的第一个假设是这是一个错误,但在这个具体问题上我找不到任何东西。

是否有解决方法或解决方案?

1 个答案:

答案 0 :(得分:1)

您应该让脚本本身指定其退出代码。我首先要阅读这篇文章:http://weblogs.asp.net/soever/returning-an-exit-code-from-a-powershell-script但是Keith Hill的最高评论可能更适合你的案例。