本帖最后由 qixiaobin0715 于 2024-9-18 10:52 编辑
没有绝对通用的代码,代码需要根据要处理的问题不同,做出相应的调整。
比如,当你要处理的文件后面数字都是4位数的话:- @echo off
- setlocal enabledelayedexpansion
- set n=4
- for /f "delims=" %%i in ('dir /b /a-d^|findstr /e "[0-9]\.jpg [0-9]\.png"') do (
- set "str=%%~ni"
- set "NewFolder=!str:~,-%n%!"
- if not exist "!NewFolder!" md "!NewFolder!"
- move "%%i" "!NewFolder!\"
- )
- pause
复制代码 再比如,当你要处理的文件名后面数字与前面相连的那个字符如果是26个字母之一的话:- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /a-d^|findstr /e "[0-9]\.jpg [0-9]\.png"') do (
- set "str1=%%i"
- set "str2=%%~ni"
- for %%j in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do set "str2=!str2:%%j= !"
- for %%k in (!str2!) do set "NewFolder=!str1:%%k%%~xi=!"
- if not exist "!NewFolder!" md "!NewFolder!"
- move "%%i" "!NewFolder!\"
- )
- pause
复制代码
|