Ale*_*psa 3 windows batch-file
@echo off
set Counter=0
set folders=(14370437 14707356 16048938 16818856)
for %%f in (*.jpg) do call :p "%%f"
goto :eof
:p
set /a Counter+=1
set /a X=Counter %% 6
%name% = folders[Counter] ???
mkdir C:\output\%name%
if %X%==1 copy %1 C:\output\%name%\front-image.jpg
goto :eof
Run Code Online (Sandbox Code Playgroud)
我有一个文件夹名称的静态列表(列表比这个例子长得多)和另一个我需要使用它们的函数。我遍历一堆 .jpg 文件,需要将每个文件复制到列表中的下一个文件夹(同时创建文件夹)
我找不到通过索引从列表(或数组?)文件夹中检索元素的方法。
batch 不能使用列表或数组,但您可以模拟数组:
@echo off
setlocal enabledelayedexpansion
set folders=(14370437 14707356 16048938 16818856)
set i=0
for %%i in %folders% do (
set /a i+=1
set element[!i!]=%%i
)
set element
echo %element[2]%
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但我强烈建议使用它们真正属于的括号:
@echo off
setlocal enabledelayedexpansion
set folders=14370437 14707356 16048938 16818856
set i=0
for %%i in (%folders%) do (
set /a i+=1
set element[!i!]=%%i
)
set element
echo %element[2]%
set number=3
echo !element[%number%]!
Run Code Online (Sandbox Code Playgroud)