gpt4 book ai didi

Powershell 在环境路径中搜索任何 exe 总是返回 msbuild.exe

转载 作者:行者123 更新时间:2023-12-01 13:39:29 26 4
gpt4 key购买 nike

我正在尝试使用 Cake作为构建工具,但在其 powershell 脚本中遇到问题。

脚本正在尝试在环境变量路径中查找 nuget.exe。如果它不存在,它会下载它。

问题是 msbuild.exe 总是返回,如果 nuget.exe 不存在,脚本会失败,因为它会尝试我们 msbuild.exe

$existingPaths = $Env:Path -Split ';' | Where-Object { (![string]::IsNullOrEmpty($_)) -and (Test-Path $_) }

$NUGET_EXE_IN_PATH = Get-ChildItem -Path $existingPaths -Filter "nuget.exe" | Select -First 1

无论我尝试使用此脚本搜索哪个 exe,即使它存在,列表中始终会返回 msbuild.exe

最佳答案

我会使用另一种可能更有效的检查 nuget.exe 可用性

if (!(Get-Command nuget.exe -ErrorAction 0)) {
# nuget.exe is not found, download ...
}

正如 Enrico Campidoglio 所建议的,您可以添加 -CommandType Application。从理论上讲,它应该更有效率。在(我的)实践中,情况并非总是如此。

关于Powershell 在环境路径中搜索任何 exe 总是返回 msbuild.exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41465004/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com