Windows 批处理文件中的 For 循环

Windows 批处理文件中的 For 循环

我在 youtube-dl 的 Windows 批处理文件中有一些 for 循环代码,如下所示:

for %%a in (%*) do (
.\youtube-dl.exe ^
%%a ^
--playlist-start 1
timeout /t 300
)

然后我将此代码放入名为 something.bat 的批处理文件中,并将 URL 作为变量传递:

something.bat ^
URL1 ^
URL2

这使我能够将上述代码放入另一个批处理文件 somethingbatch.bat 并直接调用它来运行我的批处理文件。

我希望能够动态更改 --playlist start 的参数,将其作为参数与 URL 一起传递。有什么方法可以做到这一点?如果可以,需要如何更改代码?

答案1

是的,首先像这样更改批处理文件:

@echo off
for %%a in (%*) do set ps=%%a
for %%a in (%*) do (
.\youtube-dl.exe ^
%%a ^
--playlist-start %ps%
timeout /t 300
)

然后像这样调用它:

SomethingBat.bat ^
Url1 ^
Url2 ^
UrlN ^
PlaylistStart 

您可以先指定 URL,然后最后指定 PlaylistStart 的值。

相关内容