本帖最后由 WHY 于 2024-2-2 11:30 编辑
| @if(0)==(0) echo off | | pushd "D:\Test" | | for /f "tokens=1*delims=|" %%i in ('dir /b *_*.pdf ^| cscript -nologo -e:jscript "%~f0"')do ( | | echo ren "%%i" "%%j" | | ) | | pause & exit | | @end | | | | var max = 0, arr = []; | | var reg = /_([0-9]+)(?=\....$)/; | | | | while (!WSH.StdIn.AtEndOfStream) { | | var file = WSH.StdIn.ReadLine(); | | var m = file.match(reg); | | if (!m) continue; | | if (max < m[1].length) max = m[1].length; | | arr.push(file); | | } | | | | var zero = new Array(max).join('0'); | | var reg1 = new RegExp('_[0-9]{' + max + '}(?=\....$)'); | | | | for (var i = 0; i < arr.length; i++) { | | if (arr[i].match(reg1)) continue; | | var newFile = arr[i].replace( | | reg, | | function(s0,s1){return '_' + (zero + s1).slice(-max)} | | ) | | WSH.Echo(arr[i] + '|' + newFile); | | }COPY |
|