PowerShell从当前脚本启动新终端执行脚本出现窗口闪烁问题求助
问题根源
- 核心错误是使用了
-NoNewWindow参数:该参数的作用是让新启动的PowerShell进程和当前父PowerShell进程共用同一个控制台窗口,两个独立进程同时抢占窗口的输入输出、渲染权限,就会触发持续闪烁的异常表现。 - 额外优化点:当前的参数字符串拼接转义写法容错率低,后续调整路径容易出现转义错误。
修复方案
场景1:需要启动独立的新PowerShell终端窗口执行脚本
直接删除-NoNewWindow参数即可,优化后的写法参考:
$scriptPath = "C:\Users\bdl\Desktop\jhansi\PowerShell_Scripts\dialog.ps1" # 不需要保留新窗口,执行完直接关闭 Start powershell -ArgumentList "-File `"$scriptPath`"" # 要是需要新窗口执行完保留,加 -NoExit 参数即可 # Start powershell -ArgumentList "-NoExit -File `"$scriptPath`""
场景2:不需要新窗口,直接在当前运行的脚本环境中执行目标脚本
不需要启动新的PowerShell进程,直接调用脚本即可:
& "C:\Users\bdl\Desktop\jhansi\PowerShell_Scripts\dialog.ps1"
内容的提问来源于stack exchange,提问作者jhansi jatavath
相关产品推荐
相关产品推荐

