逐行解析文件并在批处理中的for循环中增加变量

用户名

我整天都在尝试通过使流程自动化来简化我的工作。这是到目前为止我得到的:

@echo off
setlocal EnableDelayedExpansion

for /l %%x in (1,1,10) do (
        set /a counter=%%x+1
        set output=%%x
        start /wait ffmpeg.exe -i "blabla/playlist.m3u8" -c copy C:\teste\%%x.ts
)
pause >nul

blabla/playlist.m3u8总是在变化(请参阅下面的文件),我想使用递增的变量重命名流(链接),以便第一个变为1.ts,第二个2.ts依次类推。

假设我的文件(streams.txt)的构造如下:

blabla1/playlist1.m3u8
blabla2/playlist132.m3u8
blabla3/playlist12.m3u8
blabla4/playlist66.m3u8
...

如何解析for循环中文件的每一行,并通过增加%%x变量来重命名流

//我知道下一个语法:for /F "tokens=*" %%A in (myfile.txt) do [process] %%A但是我不知道如何在我的情况下实际应用它

动作

另一种更简单的方法:

@echo off

for /F "tokens=1* delims=:" %%a in ('findstr /N "^" streams.txt') do (
   ECHO start /wait ffmpeg.exe -i "%%b" -c copy C:\teste\%%a.ts
)

findstr /N命令将对行进行枚举,因此没有必要为数字使用另一个变量。输出为:

start /wait ffmpeg.exe -i "blabla1/playlist1.m3u8" -c copy C:\teste\1.ts
start /wait ffmpeg.exe -i "blabla2/playlist132.m3u8" -c copy C:\teste\2.ts
start /wait ffmpeg.exe -i "blabla3/playlist12.m3u8" -c copy C:\teste\3.ts
start /wait ffmpeg.exe -i "blabla4/playlist66.m3u8" -c copy C:\teste\4.ts

编辑新方法添加为回复评论

@echo off
setlocal EnableDelayedExpansion

< anotherFile.txt (
   for /F "delims=" %%a in (streams.txt) do (
      set /P "line="
      ECHO start /wait ffmpeg.exe -i "%%a" -c copy "C:\teste\!line!.ts"
   )
)

输出:

start /wait ffmpeg.exe -i "blabla1/playlist1.m3u8" -c copy "C:\teste\first-line-of another-file.ts"
start /wait ffmpeg.exe -i "blabla2/playlist132.m3u8" -c copy "C:\teste\second-line-of another-file.ts"
start /wait ffmpeg.exe -i "blabla3/playlist12.m3u8" -c copy "C:\teste\third-line-of another-file.ts"
start /wait ffmpeg.exe -i "blabla4/playlist66.m3u8" -c copy "C:\teste\fourth-line-of another-file.ts"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Windows批处理文件递归循环中的变量未增加

来自分类Dev

如何在批处理脚本中增加循环变量?

来自分类Dev

在批处理文件中的for循环中转义括号

来自分类Dev

批处理-在for循环中设置变量

来自分类Dev

批处理文件:逃脱!在 For 循环中

来自分类Dev

在for循环中创建文件,批处理

来自分类Dev

批处理文件将文本文件的行设置为循环中的单个变量

来自分类Dev

批处理中for循环中的空白

来自分类Dev

批处理中for循环中的空白

来自分类Dev

更改批处理文件中的变量以进行循环

来自分类Dev

无法解析批处理文件中的变量

来自分类Dev

如何在批处理脚本嵌套循环中处理变量?

来自分类Dev

批处理文件基础:在for循环中向变量添加硬编码整数

来自分类Dev

在批处理文件FOR循环中的子字符串操作中使用变量

来自分类Dev

FOR循环中的FINDSTR,变量作为字符串(批处理文件)

来自分类Dev

Windows命令批处理文件从嵌套循环中的字符串调用变量

来自分类Dev

批处理文件基础:在for循环中向变量添加硬编码整数

来自分类Dev

在批处理文件FOR循环中设置未定义的变量

来自分类Dev

批处理文件-在for循环中更改变量值

来自分类Dev

批处理:如何在嵌套的for循环中设置变量并在其外部重新使用它(enabledelayedexpansion不起作用)

来自分类Dev

批处理文件:在嵌套循环中处理列表元素

来自分类Dev

使用变量的批处理文件 FOR 循环

来自分类Dev

批处理-通过FOR循环中的IF语句设置变量“卡住”

来自分类Dev

为什么for循环中的单个%不能在命令行中解释为环境变量,而是在批处理文件中?

来自分类Dev

在所有处理器上运行 for 循环并在 Julia 中增加单个变量

来自分类Dev

文件系统的批处理脚本:在另一个嵌套的for循环中使用for循环变量

来自分类Dev

在批处理文件中for循环中%%和/ r是什么意思?

来自分类Dev

批处理文件中for循环中关系运算符的用法

来自分类Dev

如何在for循环中的批处理命令中附加到现有文件名

Related 相关文章

  1. 1

    Windows批处理文件递归循环中的变量未增加

  2. 2

    如何在批处理脚本中增加循环变量?

  3. 3

    在批处理文件中的for循环中转义括号

  4. 4

    批处理-在for循环中设置变量

  5. 5

    批处理文件:逃脱!在 For 循环中

  6. 6

    在for循环中创建文件,批处理

  7. 7

    批处理文件将文本文件的行设置为循环中的单个变量

  8. 8

    批处理中for循环中的空白

  9. 9

    批处理中for循环中的空白

  10. 10

    更改批处理文件中的变量以进行循环

  11. 11

    无法解析批处理文件中的变量

  12. 12

    如何在批处理脚本嵌套循环中处理变量?

  13. 13

    批处理文件基础:在for循环中向变量添加硬编码整数

  14. 14

    在批处理文件FOR循环中的子字符串操作中使用变量

  15. 15

    FOR循环中的FINDSTR,变量作为字符串(批处理文件)

  16. 16

    Windows命令批处理文件从嵌套循环中的字符串调用变量

  17. 17

    批处理文件基础:在for循环中向变量添加硬编码整数

  18. 18

    在批处理文件FOR循环中设置未定义的变量

  19. 19

    批处理文件-在for循环中更改变量值

  20. 20

    批处理:如何在嵌套的for循环中设置变量并在其外部重新使用它(enabledelayedexpansion不起作用)

  21. 21

    批处理文件:在嵌套循环中处理列表元素

  22. 22

    使用变量的批处理文件 FOR 循环

  23. 23

    批处理-通过FOR循环中的IF语句设置变量“卡住”

  24. 24

    为什么for循环中的单个%不能在命令行中解释为环境变量,而是在批处理文件中?

  25. 25

    在所有处理器上运行 for 循环并在 Julia 中增加单个变量

  26. 26

    文件系统的批处理脚本:在另一个嵌套的for循环中使用for循环变量

  27. 27

    在批处理文件中for循环中%%和/ r是什么意思?

  28. 28

    批处理文件中for循环中关系运算符的用法

  29. 29

    如何在for循环中的批处理命令中附加到现有文件名

热门标签

归档