【发布时间】:2018-04-24 13:56:30
【问题描述】:
我做错了,但我不知道是什么。我有一个 PowerShell 脚本,其中有一个像这样的变量:
$VCVARSALLBAT = "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"
现在,在这个脚本中,我想调用这个 vcvarsall.bat 这样做:
& "$($VCVARSALLBAT)" x86_amd64
从我看到的输出中,它运行了。打完vcvarsall.bat之后,我打给nmake。
即我的脚本如下所示:
$VCVARSALLBAT = "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"
& "$($VCVARSALLBAT)" x86_amd64
nmake
我收到此错误消息:
nmake :术语“nmake”不被识别为 cmdlet、函数的名称, 脚本文件或可运行的程序。检查名称的拼写,或者如果路径 已包含,请验证路径是否正确,然后重试。 在 ...:214 字符:1 + nmake + ~~~~~ + CategoryInfo : ObjectNotFound: (nmake:String) [], ParentContainsErrorRecordException +fullyQualifiedErrorId:CommandNotFoundException奇怪的是:当我进入Windows的普通命令行并调用以下语句时,我可以毫无错误地调用nmake:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
nmake
【问题讨论】:
-
您运行的是 x64 PowerShell 还是 x86?我的猜测是,当您想运行 32 位时,您正在运行 64 位。
标签: powershell visual-studio-2017 nmake