|
|
将一个文件夹中带有百分数的文件名中的%换成百分之
例如:文件名为“我20日以50.2%的力量.doc”、“以20.3%的力量夺取11日的胜利.doc”
需要转换成“我20日以百分之50.2的力量.doc”、“以百分之20.3的力量夺取11日的胜利.doc”
以下自写代码初步实现上述功能,但也存在部分问题- SETLOCAL ENABLEDELAYEDEXPANSION
- FOR /F "DELIMS=" %%B IN ('DIR /B^|FINDSTR "%%"') DO (
- SET NAME0=%%B
- FOR /F "TOKENS=1,2 DELIMS=%%" %%E IN ("%%B") DO (
- SET NAME1=%%E
- SET NAME2=%%F
- CALL :NUM
- ))
- :NUM
- SET NUM0=
- FOR /L %%G IN (5,-1,1) DO (
- SET Z=!NAME1:~-%%G,1!
- IF !Z! GEQ 0 IF !Z! LEQ 9 SET NUM0=!NAME1:~-%%G! && SET NAME11=!NAME1:~0,-%%G! && GOTO END
- )
- :END
- SET NUM0=!NUM0: =!
- set NAME11=!NAME11: =!
- echo "!NAME11!百分之!NUM0!!NAME2!"
复制代码 经过处理,解决部分问题。但仍存在以下问题:
1、NUM0总会把其中一个含%的文件名多取一次,例如上面的两个文件名,最后NUM0的数值是50.2 20.3 20.3,且在数值最后多一个空格
2、在文件名中百分数(含)5个字符内还有其他数字,结果将会出错。例:文件名为“1我15%.doc”,改名后结果为“百分之1我15.doc”。
望得到各位大大的帮助~不甚感谢~ |
|