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

CMD中使用START /WAIT执行脚本后出现"More?"提示的问题排查

解决批处理脚本通过管道执行后出现"More?"提示的问题

问题原因

"More?"提示是因为你通过管道|将curl输出的脚本内容传给cmd /q /k执行时,cmd进程在脚本执行完毕后仍处于监听标准输入的状态,未收到输入结束信号,因此会等待更多内容输入。尤其是start /wait mainfile.bat执行完成后,回到父cmd进程,输入流未关闭,触发了该提示。

解决办法

方法1:避免管道执行(推荐)

改为先将脚本下载到本地临时文件再执行,彻底规避管道输入的问题:

curl --silent https://raw.githubusercontent.com/***/***/main/script.bat > "%temp%\run_script.bat"
cmd /q /k "%temp%\run_script.bat"
del "%temp%\run_script.bat"

方法2:修改执行命令,关闭输入流

在管道执行命令中,给cmd添加输入结束信号,让它不再等待更多输入:

  • 方式A:用nul关闭输入流
curl --silent https://raw.githubusercontent.com/***/***/main/script.bat | cmd /q /k <nul
  • 方式B:追加空行结束输入
curl --silent https://raw.githubusercontent.com/***/***/main/script.bat | cmd /q /k & echo.

方法3:修改原脚本,结束批处理上下文

在script.bat的最后一行添加exit /b,结束当前批处理的执行上下文,让父cmd进程不再等待输入:

@echo off
set "folder=%random%%random%%random%"
mkdir "%temp%\%folder%"
cd "%temp%\%folder%"
curl --silent <link> >mainfile.bat
curl --silent <link> >mainfile2.bat
curl --silent <link> >mainfile3.bat
curl --silent <link> >mainfile4.bat
curl --silent <link> >mainfile5.bat
::some tasks involving downloaded batch files here...
del mainfile3.bat
del mainfile4.bat
del mainfile5.bat
start /wait mainfile.bat 2>nul
rmdir "%temp%\%folder%"
@exit /b

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 21:37:26