请帮我看看下面的bat代码有什么问题,(获取指定目录下的指定类型文件,将文件名保存到变量中)

下面代码中执行后,只有temp[0]有值,预期应该是201203191105.backup,但是实际结果值是201203191109.backup,@ECHOoffSET... 下面代码中执行后,只有temp[0]有值,预期应该是201203191105.backup,但是实际结果值是201203191109.backup,

@ECHO off
SET extension=".backup"
SET number=0
cd %~dp0\backup
FOR %%C IN (*%extension%) DO (
SET temp[%number%]=%%C
SET number=(%number%+1)
)
cd %~dp0
echo %temp[0]%
echo %temp[1]%
echo %temp[2]%
echo %temp[3]%
echo %temp[4]%

PAUSE

-----------------
backup文件夹中有:201203191105.backup ~201203191109.backup ,5个文件
展开
 我来答
a5562257
2012-03-19 · 超过63用户采纳过TA的回答
知道小有建树答主
回答量:222
采纳率:0%
帮助的人:174万
展开全部
SET number=(%number%+1)
这个有问题,应该
set /a number+=1
还有前面应该加变量延迟
setlocal enabledelayedexpansion

@ECHO off
setlocal enabledelayedexpansion
SET extension=".backup"
SET number=0
cd %~dp0\backup
FOR /r %%C IN (*%extension%) DO (
SET temp[!number!]=%%C
SET /a number+=1
)
cd %~dp0
echo %temp[0]%
echo %temp[1]%
echo %temp[2]%
echo %temp[3]%
echo %temp[4]%

PAUSE
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式