[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 1# qd2024
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. set "MaxLen=0"
  5. for /f "tokens=2 delims=_" %%a in ('dir /b /a-d *_*.pdf') do (
  6.     for /f "skip=1 delims=:" %%i in ('^(echo "%%a"^&echo.^)^|findstr /o ".*"') do (
  7.         set /a StrLen=%%i-5-4
  8.     )
  9.     if !StrLen! gtr !MaxLen! (
  10.         set "MaxLen=!StrLen!"
  11.     )
  12. )
  13. set "MaxNum=1"
  14. for /l %%a in (1,1,!MaxLen!) do (
  15.     set /a MaxNum=MaxNum*10
  16. )
  17. for /f "tokens=1* delims=_" %%a in ('dir /b /a-d *_*.pdf') do (
  18.     set "FileNum=%%b"
  19.     set "FileNum=!MaxNum!!FileNum:~0,-4!"
  20.     ren "%%a_%%b" "%%a_!FileNum:~-3!%%~xb"
  21. )
复制代码
测试代码之前请做好备份

TOP

回复 10# buyiyang


在CMD窗口里面执行这个命令应该能理解:
  1. (echo "ABC"&echo.)|findstr /o ".*"
复制代码
测试代码之前请做好备份

TOP

返回列表