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

如何实现Batch脚本中用户输入ID逐行自增,生成60条streamlink下载命令

你可以直接用Windows批处理的循环逻辑实现,不需要手动编写60行命令,最终可用的脚本如下:

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
:: 读取用户输入参数
SET /P _start_id=请输入起始id:
SET /P _name=请输入输出文件名前缀:

:: 循环执行60次streamlink命令
FOR /L %%i IN (1,1,60) DO (
    :: 计算当前请求的id值,逐次自增1
    SET /A _current_id = _start_id + %%i - 1
    streamlink --hls-segment-threads 10 "http://x.x.x.x:xxxx/video/master.m3u8?channelId=!_current_id!" 720p -l debug -o "!_name!_%%i.mkv"
)
ENDLOCAL

关键逻辑说明

  • 必须开启ENABLEDELAYEDEXPANSION延迟变量扩展,循环内动态更新的_current_id需要用!变量名!格式读取才能拿到实时值,不能用原来的%变量名%格式
  • FOR /L %%i IN (1,1,60)是批处理内置的数值循环语法,三个参数分别对应起始值、步长、终止值,这里就是从1计数到60,每次加1,刚好对应你需要的60条命令
  • 计算id的逻辑是起始id加上当前循环次数减1,你输入起始id为12000时,第1次循环id为12000,第2次为12001,直到第60次自动取12059,完全符合你的需求
  • 输出文件名的序号直接取循环变量%%i,自动生成前缀_1.mkv到前缀_60.mkv的文件名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:27:03