如何在实际使用变量时修复 Powershell 中的 'Variable not used' 警告?
How to fix 'Variable not used' warning in Powershell, when variable is actually used?
相关代码如下:
$Ports | ForEach-Object {
$processID = $(Start-Process ".\nrfutil.exe" -ArgumentList "dfu usb-serial --package $path --port $_" -PassThru).Id
}
while ($(Get-Process -Id $processID).ProcessName) {}
Write-Host "DONE!" -ForegroundColor Green
下面是 VSCode 突出显示的方式:
发生这种情况是因为解释器不知道 $Ports 中是否真的有任何值,因此 ForEach-Object 循环可能不会 运行?如果是这样,如何解决这个亮点?代码工作得很好,我只是想删除错误的突出显示。
我使用的是微软官方VSCode Powershell支持,版本v2021.10.2
我会重写代码并使用 foreach
循环。
也可以直接访问ProcessName
,而不必使用id再次获取进程。
foreach ($Port in $Ports)
{
$process = Start-Process ".\nrfutil.exe" -ArgumentList "dfu usb-serial --package $path --port $Port" -PassThru
$process.ProcessName
}
Write-Host "DONE!" -ForegroundColor Green
相关代码如下:
$Ports | ForEach-Object {
$processID = $(Start-Process ".\nrfutil.exe" -ArgumentList "dfu usb-serial --package $path --port $_" -PassThru).Id
}
while ($(Get-Process -Id $processID).ProcessName) {}
Write-Host "DONE!" -ForegroundColor Green
下面是 VSCode 突出显示的方式:
我使用的是微软官方VSCode Powershell支持,版本v2021.10.2
我会重写代码并使用 foreach
循环。
也可以直接访问ProcessName
,而不必使用id再次获取进程。
foreach ($Port in $Ports)
{
$process = Start-Process ".\nrfutil.exe" -ArgumentList "dfu usb-serial --package $path --port $Port" -PassThru
$process.ProcessName
}
Write-Host "DONE!" -ForegroundColor Green