- 帖子
- 9
- 积分
- 22
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2019-5-24
|
该代码是将文件夹下TXT文件名称中汉字数字替换成阿拉伯数字,代码如下,但是当前文件夹内可以执行,子文件夹内TXT不替换
1>1/* : www.bathome.net
@echo off
for /f "delims=" %%a in ('dir /a-d /b *.txt^|cscript -nologo -e:jscript "%~0"') do (
ren %%a
)
pause & exit /b
*/
var files = WSH.StdIn.ReadAll().split(/\r?\n/)
for(var i in files){
var newName = files.replace(
/[零一二三四五六七八九十][O零一二三四五六七八九十百千]*/gm,
function(match){
var str = match
str = str.replace(/[一二三四五六七八九]/g,function(match){return '+'+'空一二三四五六七八九'.search(match)})
str = str.replace(/([1-9])([十百千])/g,function(match,_1,_2){return _1 + ({'十':'*10','百':'*100','千':'*1000'}[_2])})
str = str.replace(/^十/,'+10')
str = str.replace(/(\*10+)0[零O](?!\+\d\1)/g,'$10')
return (/[^0-9\+\*]/.test(str)) ? match : eval(0+str)
}
)
WSH.Echo('"'+files+'" "'+newName+'"')
} |
|