You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本调用批处理弹出新窗口,如何修改脚本解决?

解决PowerShell脚本调用时弹出新窗口的问题

嘿,我知道你为啥踩这个坑了——你当前的批处理代码里用了Start-Process powershell,这相当于让第一个PowerShell进程再启动另一个全新的PowerShell进程来执行脚本,所以哪怕你加了-windowstyle hidden,那也是给第一个进程加的,新启动的那个进程还是会弹出窗口,NoNewWindow参数也没起作用,因为你没在正确的地方用它。

直接改批处理代码就行,把嵌套的Start-Process去掉,让第一个PowerShell进程直接执行你的脚本:

@echo off
set scriptFileName=%~n0
set scriptFolderPath=%~dp0
set powershellScriptFileName=test.ps1
powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass -NoProfile -NoExit -Command "& '%scriptFolderPath%%powershellScriptFileName%'"

额外提示:如果你的PowerShell脚本里还要调用批处理

要是test.ps1内部有调用批处理文件的逻辑,也要确保不弹出新窗口,你可以这么写:

# 方式1:直接通过cmd.exe执行,不会新开窗口
& cmd.exe /c "C:\路径\你的批处理文件.bat"

# 方式2:用Start-Process的话,必须加-NoNewWindow参数
Start-Process -FilePath "cmd.exe" -ArgumentList "/c C:\路径\你的批处理文件.bat" -NoNewWindow -Wait

这样不管是启动脚本的批处理,还是脚本内部调用批处理,都不会弹出额外的窗口啦~

内容的提问来源于stack exchange,提问作者Marco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:18:32