- 帖子
- 7
- 积分
- 123
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2009-4-8
|
有以下8个文件夹:
群星.-.[一人一首成名曲].专辑.CD1
群星.-.[一人一首成名曲].专辑.CD2
群星.-.[一人一首成名曲].专辑.CD3
...
群星.-.[一人一首成名曲].专辑.CD8
每个文件夹下面的文件如下:
01 Track01.ape
02 Track02.ape
03 Track03.ape
...
现在有 专辑介绍.txt 文件一个,大致的内容如下,为了节省空间,文件名没有全部列出:
专辑曲目:
CD1:
01-生命之曲(林子祥)
02-不装饰你的梦(蔡国权)
03-顺流、逆流(徐晓凤)
...
CD2:
01-爱在深秋(谭咏麟)
02-堆积情感(邓美云)
03-遥远的她(张学友)
...
想读取专辑简介里面的内容,重新命名文件夹下面的所有文件,
setlocal enabledelayedexpansion
set "filePath=群星.-.[一人一首成名曲].专辑.CD"
set /a indexStart=1
set /a indexEnd=8
set startFlg=N
(
for /l %%i in (%indexStart%,1,%indexEnd%) do (
for /f "delims=- tokens=1,2" %%j in (专辑介绍.txt) do (
if !startFlg!==Y (ren .\%filePath%%%i\%%j*.ape %%j-%%k.ape)
if %%j==CD%%i:(set startFlg=Y)
set /a endNum=%%i+1
if %%j==CD!endNum!: (goto nextPath)
)
:nextPath
set startFlg=N
)
)>log.txt
pause
现象:
红色代码中:的后面如果有个半角空格,就会报系统找不到指定文件的错误,去掉半角空格,也就是:和(之间没有字符的情况下,能正常执行。
问题:
if 文后面的空格应该没有影响啊,这是为什么呢? |
|