你有一个大问题
set tableauNoCamion[%index%]=!input!
echo You entered !tableauNoCamion[%index%]!
因为%index% 将在for ...%%f 被解析
时使用
index 的内容进行评估
根本不用index;使用
set tableauNoCamion[%%f]=!input!
echo You entered !tableauNoCamion[%%f]!
至于第二个循环,你可以使用
set tableauNoCamion
或
for /f "tokens=1*delims==" %%a in ('set tableauNoCamion') do echo %%a
或
setlocal enabledelayedexpansion
for /L %%a in (1,1,%nombreDeCamion%) do echo !tableauNoCamion[%%a]!
endlocal
(所有空气代码 - 未经测试)
还有其他 - 取决于您想要的报告。
至于你想对*.jpg 或非*.jpg 文件做什么 - 这对我来说是个谜......
啊,是的 - 问题是,当达到匹配的 endlocal 时,在 setlocal 之后对环境所做的任何更改都将撤消。
嘻嘻是改版...
@echo off
setlocal EnableDelayedExpansion
SET /P input1=Nombre de camion :
set nombreDeCamion=%input1%
for /l %%f in (1,1,%nombreDeCamion%) DO (
set index=%%f
SET /P input=Entrer le no du camion:
set tableauNoCamion[%%f]=!input!
echo You entered !tableauNoCamion[%%f]!
)
echo===============
SET tableaunocamion
echo===============
for /L %%a in (1,1,%nombreDeCamion%) do echo !tableauNoCamion[%%a]!
echo===============
for /f "tokens=2,3delims=[]=" %%a in ('SET tableaunocamion') do echo %%a. %%b
GOTO :EOF
注意:我为在cmd 会话中运行而编写代码。如果您从“快捷方式”运行,则需要有策略地插入pause。
这是一个示例结果:(输入 4、11、22、33、44)
Nombre de camion : Entrer le no du camion: You entered 11
Entrer le no du camion: You entered 22
Entrer le no du camion: You entered 33
Entrer le no du camion: You entered 44
==============
tableauNoCamion[1]=11
tableauNoCamion[2]=22
tableauNoCamion[3]=33
tableauNoCamion[4]=44
==============
11
22
33
44
==============
1. 11
2. 22
3. 33
4. 44