不太懂批处理,请行家帮助修改!不要见笑,谢谢了!
●1、扫描《bbbbb》文件夹里的指定文件
@echo off
set /a n=100000
cd.>aaaaa.txt
for /f "delims=" %%i in ('dir bbbbb\*.txt bbbbb\*.doc bbbbb\*.pdf /b') do (
set "var=%%i"
setlocal enabledelayedexpansion
set var=!var:*:=!
set /a n+=1
echo "&!n:~-1!=!var!&">>aaaaa.txt
endlocal
)
▲现在aaaaa.txt是这样的:
"&1=***.txt&"
"&1=***.doc&"
"&1=***.txt&"
"&1=***.pdf&"
"&1=***.txt&"
等等……
〓而我要的效果是:
1、不要出现上面的""引号。
2、每个文件名头尾保留& &间隔符号。
3、给每个文件名排个序号加等号:1=、2=、3=……99999=(是单数1开始往下排,不是00001往下排。上面的变量n,没起变化作用)。
4、要按windows递增方式排列原有文件名,就是不要打乱《bbbbb》文件夹里原来的排序。
原来排在第一个的,在aaaaa.txt里还放在第一个,第二个的放在第二个……(上面的代码做不到)。
5、要支持读取长文件名和特殊符号文件名。
最后aaaaa.txt里要这样排列:
&1=***.txt&
&2=***.doc&
&3=***.pdf&
依次往下为:
&10=***.pdf&
&100=***.txt&
&1000=***.doc&
&10000=***.txt&
&99999=***.txt&
等等……
●2、批量修改《bbbbb》文件夹里多种格式的文件
跟上面没关系,是两种功能要求,请不要混在一起。
@echo off&set /a n=100000
for /f "delims=" %%a in ('dir bbbbb\*.txt bbbbb\*.doc bbbbb\*.pdf /b') do (
setlocal enabledelayedexpansion
set /a n+=1
ren "%%a" "my_!n:~1!.txt"
endlocal
)
▲现在只能同时修改一种文件。
这里不知道该怎么处理了:ren "%%a" "aaaaa_!n:~1!.txt"
〓我要的效果是:
1、同时修改多种文件名。
2、按00001--99999五位数递增排列。
3、不要打乱《bbbbb》文件夹里原来的排序,原来在第一个的就把它改成00001,第二个改成00002……(上面的代码做不到)。
改名后是这样的:
my_00001.txt
my_00002.doc
my_00003.pdf
依次往下为:
my_00010.txt
my_00100.doc
my_01000.pdf
my_10000.txt
my_99999.doc
等等……
真诚感谢!! |