找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23530|回复: 5

[文本处理] 如何批量根据子文件夹中的关键字 重命名子文件夹下的文件?

[复制链接]
发表于 2020-5-8 11:13:03 | 显示全部楼层 |阅读模式
文件夹中的关键字是  .后加数字关键字3-4位   

XXXXXXXXX XXX.1032 XXXX  文件夹名字类似这种

选中关键字后,在子文件夹中的所有文件前,加上 1032空格,如 abc改为 1032 abc

求大佬指点。
发表于 2020-5-8 19:05:09 | 显示全部楼层
本帖最后由 xp3000 于 2020-5-9 15:45 编辑

下载sed这个工具,放入C:\Windows\System32
或者放入需要处理文件夹里面
http://bcn.bathome.net/tool/4.7/sed.exe
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. pushd "%cd%"
  4. for /d %%a in (*) do (
  5. @CD /D "%~dp0"
  6.      for /f "delims=" %%b in ('echo "%%a"^| sed "s/.\+\.\([0-9]\{3,4\}\).\+/\1/"') do (
  7. cd "%%a"
  8. for /f "delims=" %%c in ('dir /b/a-d/oN *.*') do (
  9. ren "%%c" "%%b %%c"
  10.     ))
  11. )
  12. pause
复制代码
发表于 2020-5-8 22:48:17 | 显示全部楼层
本帖最后由 smss 于 2020-5-8 22:51 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /ad /b ^|findstr /i "[0-9]"') do (set str=%%a&set str_a=!str!&set str_b=!str:.=!
  3. for /l %%a in (0,1,9) do set str_a=!str_a:%%a=!
  4. call:calc !str_a!
  5. echo 源值!str!中包含的数字为!str_b!
  6. for /f "delims=" %%c in ('dir /a-d /b "%%a\*"') do ren "%%a\%%c" "!str_b! %%c")
  7. pause&exit
  8. :calc
  9. set n=0&set "s=%~1"
  10. :loop
  11. set "t=!s:~%n%,1!"
  12. if "%t%"=="" (set "str_b=!str_b:"=!"
  13. goto :eof)
  14. set "str_b=!str_b:%t%=!"&set /a n+=1
  15. goto loop
复制代码
发表于 2020-5-9 11:50:32 | 显示全部楼层
回复 2# xp3000


    这样可以简化脚本,提高执行速度:
  1. @echo off
  2. for /f "tokens=1*" %%i in ('dir /b /a-d /s ^| sed -r "/.*\.([0-9]{3,4})\s[^\\]*\\[^\\]*$/!d; s//\1 &/"') do (
  3.     echo ren "%%j" "%%i %%~nxj"
  4. )
  5. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
xp3000 + 1 乐于助人

查看全部评分

发表于 2020-5-9 12:04:36 | 显示全部楼层
本帖最后由 xp3000 于 2020-5-9 15:40 编辑

回复 4# WHY


    哦谢谢,学习了,我目前只会傻瓜方式一步步弄
 楼主| 发表于 2020-5-9 18:27:17 | 显示全部楼层
非常感谢各位大佬,周末有点忙,下周试一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 19:24 , Processed in 0.021078 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表