[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 1# gddsssko
加持sort/r确保深层目录总在前被处理...
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%d in ('dir /b/s/ad^|findstr /il "AAAAA BCDEFW"^|sort /r') do (
  3. set "d=%%~nxd"
  4. for %%s in (AAAAA BCDEFW) do (set "_d=!d:*%%s=!"&if "!d!" neq "!_d!" (ren "%%~d" "%%s!_d!"))
  5. )
  6. endlocal&exit/b
复制代码

TOP

本帖最后由 aloha20200628 于 2024-3-17 18:34 编辑

回复 6# Five66

任选一个循环分隔符切分文件名即可,前提是尾部被保留子段不含循环分隔符。见下式结果...
  1. @echo off &setlocal enabledelayedexpansion
  2. for %%s in ("乱七八糟AAA乱七八糟AAA文件文件" "一堆AAA.乱名123(AAA)哈哈哈哈AAAAAA文件夹文件夹" "AAA乱 七 八 糟123乱七八糟AAA文件文件") do (
  3. set "s=%%~s"&set "s=!s:AAA= !"&for %%a in (!s!) do (set "_s=%%a")
  4. echo,AAA!_s!
  5. )
  6. endlocal&exit/b
复制代码

TOP

返回列表