返回列表 发帖
本帖最后由 qixiaobin0715 于 2021-5-13 21:42 编辑

未经测试
@echo off
set var=山东 广州 四川
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b /s /a-d') do (
    set "str=%%~na"
    set n=0
    for %%a in (%var%) do (
        set /a n+=1
        if not "!str!"=="!str:%%a=!" ren "%%a" "0!n!.!str!%%~xa"
    )
)
pauseCOPY

TOP

回复 12# hlzj88
ren命令中可使用*和?但只能替换不能增加字符。

TOP

TOP

本帖最后由 qixiaobin0715 于 2021-5-14 06:25 编辑

回复 15# newswan
接受建议重新修改代码:
1.文件名开头是数字不再重命名。
2.对关键词超过10个时进行修正,前面添加的数字还是两位(01、02、03...10、11...)。
3.修改代码时,发现11楼代码有误,已修改。
@echo off
set var=山东 广州 四川
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b /s /a-d') do (
    set "str1=%%~na"
    set n=100
    for /f "tokens=* delims=0123456789" %%i in ("!str1!") do set "str2=%%i"
    for %%j in (%var%) do (
        set /a n+=1
        if not "!str1!"=="!str1:%%j=!" if "!str1!"=="!str2!" ren "%%a" "!n:~1!.!str1!%%~xa"
    )
)
pauseCOPY

TOP

本帖最后由 qixiaobin0715 于 2021-5-14 06:35 编辑

回复 18# ngb0519
16楼代码出了点小状况,已修改并测试成功。
使用前必须将批处理文件保存为ANSI编码

TOP

一起学习,共同进步

TOP

返回列表