62 lines
1.8 KiB
PowerShell
62 lines
1.8 KiB
PowerShell
$ErrorActionPreference = 'Stop'
|
|
|
|
$target = 'C:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\lib\toolkit\nodeTool'
|
|
|
|
$before = [Environment]::GetEnvironmentVariable('Path', 'Machine')
|
|
|
|
Write-Host '=== Before: target entries in Machine PATH ==='
|
|
$before -split ';' | ForEach-Object {
|
|
if ($_.Trim() -ieq $target) {
|
|
Write-Host (" [" + $_ + "]")
|
|
}
|
|
}
|
|
|
|
$entries = $before -split ';'
|
|
$kept = New-Object System.Collections.Generic.List[string]
|
|
$removed = New-Object System.Collections.Generic.List[string]
|
|
foreach ($e in $entries) {
|
|
$t = $e.Trim()
|
|
if ($t -ieq $target) {
|
|
$removed.Add($e)
|
|
} elseif ($t -ne '') {
|
|
$kept.Add($e)
|
|
}
|
|
}
|
|
$after = [string]::Join(';', $kept.ToArray())
|
|
|
|
if ($removed.Count -eq 0) {
|
|
Write-Host 'Target entry not found, nothing to do.'
|
|
exit 0
|
|
}
|
|
|
|
try {
|
|
[Environment]::SetEnvironmentVariable('Path', $after, 'Machine')
|
|
Write-Host ''
|
|
Write-Host '=== Result ==='
|
|
Write-Host (" Removed entries: " + $removed.Count)
|
|
foreach ($r in $removed) { Write-Host (" - " + $r) }
|
|
Write-Host (" Remaining entries: " + $kept.Count)
|
|
Write-Host ' Write OK.'
|
|
} catch {
|
|
Write-Host ''
|
|
Write-Host (' Write FAILED (admin required?): ' + $_.Exception.Message)
|
|
exit 1
|
|
}
|
|
|
|
Write-Host ''
|
|
Write-Host '=== Verify after write ==='
|
|
$verify = [Environment]::GetEnvironmentVariable('Path', 'Machine')
|
|
$stillThere = 0
|
|
foreach ($e in ($verify -split ';')) {
|
|
if ($e.Trim() -ieq $target) { $stillThere++ }
|
|
}
|
|
if ($stillThere -gt 0) {
|
|
Write-Host ' FAIL: target still present.'
|
|
exit 1
|
|
} else {
|
|
Write-Host ' OK: target no longer in Machine PATH.'
|
|
}
|
|
|
|
Write-Host ''
|
|
Write-Host 'Note: env var change does NOT affect already-running processes.'
|
|
Write-Host 'Reopen cmd / Git Bash / HBuilderX to see updated where node.' |