我正在尝试运行powershell -Command来执行PowerShell文件作为Visual Studio 2013中的后期构建事件
但我得到了
Powershell' is not recognized as an internal or external command, operable program or batch file
错误输出窗口和
Powershell -Command exited with code 9009 error
完整错误消息:
'Powershell' is not recognized as an internal or external command,
10> operable program or batch file.
10>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(4429,5): error MSB3073: The command "echo "C:\dev\tfs\Main\Shared\AggregationComponents\GenerateSchema.cmd"
10>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(4429,5): error MSB3073: call "C:\dev\tfs\Main\Shared\AggregationComponents\GenerateSchema.cmd"
10>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(4429,5): error MSB3073: echo "Move the PhoenixData namespace schema suffixing it"
10>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(4429,5): error MSB3073: Powershell -Command "C:\dev\tfs\Main\Shared\AggregationComponents\MoveAndRenameXsds.ps1 'C:\dev\tfs\Main\Shared\AggregationComponents\bin\Debug\' 'C:\dev\tfs\Main\Shared\AggregationComponents\..\PublishedAnalyticsXsds' '.Aggregation'"" exited with code 9009.
========== Rebuild All: 8 succeeded, 1 failed, 1 skipped ==========
答案 0 :(得分:41)
听起来你错过了一个环境变量。
将此添加到您的Path
环境变量:
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
OR
将您的脚本更改为:
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -Command "your command"
答案 1 :(得分:5)
或 右键开始按钮 -> 系统 -> 高级系统设置 -> 环境变量... -> 选择 PATH
C:\WINDOWS\System32\WindowsPowerShell\v1.0\
或 %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
答案 2 :(得分:2)
从批处理文件的开头删除BOM字节或将其编码转换为ANSI。 BOM对待系统以为您使用了不可用的命令。
答案 3 :(得分:0)
我的错误只是我忘记以管理员身份运行Visual Studio /命令提示符。
答案 4 :(得分:0)
试试
'%SYSTEMROOT%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe tracert google.com
'
可能需要 \\
而不是 \
。