Arrays 使用批处理,您将如何迭代不使用的数组';我不知道在每个变量上运行一个函数可能包含多少值
我有一个批处理文件,创建一个从文本文件获取的变量数组,如下所示:Arrays 使用批处理,您将如何迭代不使用的数组';我不知道在每个变量上运行一个函数可能包含多少值,arrays,batch-file,variables,ffmpeg,batch-processing,Arrays,Batch File,Variables,Ffmpeg,Batch Processing,我有一个批处理文件,创建一个从文本文件获取的变量数组,如下所示: for /f "skip=1 tokens=9 delims= " %%a in (%findfile%) do set "_%%a=yes" set count = 0 for /f "tokens=1* delims==#" %%b in ('set _') do ( set /a count+=1 set x=%%b set location[!count!]=!x:~1! ) set %locati
for /f "skip=1 tokens=9 delims= " %%a in (%findfile%) do set "_%%a=yes"
set count = 0
for /f "tokens=1* delims==#" %%b in ('set _') do (
set /a count+=1
set x=%%b
set location[!count!]=!x:~1!
)
set %location%
我试图将数组中的每个变量分别循环到一个函数中,但不知道如何操作
存储所有变量的位置数组必须被调用到for循环中,我试图将其循环到的函数是FFMPEG函数:
for %%i in (%location%\*.mp4) do (if not exist "%%~ni\" MD "%%~ni"
ffmpeg -i "%%i" -vframes 1 -f image2 -start_number 0
"%%~ni\%%~ni_Summary_%%3d.jpeg"
)
非常感谢您提供的所有帮助因为您已经有了元素计数,所以可以使用FOR/L循环
FOR /L %%n in (1 1 %count%) DO (
set "content=!location[%%n]!"
call :subFunc content
)
...
:subFunc
set "var=!%1!"
echo Process: !var!
set%location%
应该是set location
。它应该显示以位置开始的所有变量
没有(真实的)数组,它只是一堆变量。因此,您不能将整个集合添加为%location%
这就是说:您有%count%
中的变量数,因此您可以愉快地使用for/L
:
@echo off
SetLocal EnableDelayedExpansion
REM get locations from textfile:
for /f "tokens=9" %%a in (file.txt) do set "_%%a=yes"
REM translate into proper variables:
set count=0
for /f "tokens=1* delims==#" %%a in ('set _') do (
set /a count+=1
set x=%%a
set _var[!count!]=!x:~1!
)
REM build the new bat file:
(for /l %%i in (1 1 %count%) do (
for %%a in ("!_var[%%i]!\*.mp4") do (
ECHO ffmpeg -i "%%i" -vframes 1 -f image2 -start_number 0 "%%~na\%%~na_Summary_%%3d.jpeg"
)
))>new.bat
type new.bat
set count=0
应该是set/a count=0
。目前,您正在将名为countspace的变量设置为*space*0。它通过失败而起作用<代码>计数
未定义,因此设置/a计数+=1
计数正确。没有理由不能在第一个循环中使用set/a count+=1&set“location[!count!]=%%a”
来生成和计算location
数组。我是在FFMPEG FOR循环之外还是将其放在FFMPEG FOR循环内?啊!请不要将tmp
用作变量名!这是一个预定义的变量(temp
)new.bat是关于什么的是否要为调用的每个位置创建一个新的批处理文件?否,它正在创建一个批处理文件,包括所有ffmpeg
命令。(注意围绕整个for
循环的附加一对副词)