本帖最后由 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);
- }
复制代码
|