从32位成功运行批处理文件的PowerShell脚本,但64位运行失败

时间:2013-09-05 07:21:36

标签: powershell batch-file 64-bit

我有一个powershell脚本(test.ps1),我想从批处理文件中运行它。批处理文件包含以下内容:

PowerShell –Command “& ‘.\test.ps1’” 001
pause

当我在32位Windows 7计算机上运行批处理文件(作为管理员)时,powershell脚本成功运行。当我尝试在64位Windows 7机器上运行它时,我收到以下错误:

C:\Windows\system32>PowerShell –Command “& ‘.\test.ps1’” 001
The term ‘.\test.ps1’ is not recognised as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if the path was included, verify that the path is correct and try again.
At line:1 char:2
+ & <<<<  ‘.\test.ps1’ 001
    + CategoryInfo              : ObjectNotFound: (.\test.ps1:String) [], CommandNotFoundException
    + FullyQualifiedErrorID : CommandNotFoundException

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:3)

您正在从C:\Windows\system32运行脚本,并且没有这样的脚本(通常在使用管理员权限启动bat时会发生这种情况)。 更改目录或使用完整路径调用它。

解决此问题的最简单方法 - 在批处理脚本开头设置cd /d %~dp0以更改脚本所在位置的目录