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

[文本处理] [已解决]批处理如何根据规则的目录名重命名不规则的文件?

[复制链接]
发表于 2012-8-17 20:10:39 | 显示全部楼层 |阅读模式
本帖最后由 狗屁不通 于 2012-8-18 19:30 编辑

目录名有规律,文件名无规律。
比如如何把
C:\2012-08-08\1\2757382578394893745.txt  重命名为2012-08-08-1.txt
C:\2012-08-08\2\2875568378495738783.txt  重命名为2012-08-08-2.txt
C:\2012-08-08\3\9407583849278572702.txt  重命名为2012-08-08-3.txt
…………
数不清的文件需要这样做,各位大神,教教在下,感激不尽!



C:\
├─2012-08-08
│  ├─1
│  │      2757382578394893745.txt
│  │      
│  ├─2
│  │      2875568378495738783.txt
│  │      
│  ├─3
│  │      9407583849278572702.txt
│  │      
│  ├─4
│  │      1048575839886757875.txt
│  │      
│  └─6
│          6758439925483912654.txt
│         
├─2012-08-09
│  ├─1
│  │      5648743988265648828.txt
│  │      
│  ├─2
│  │      7689065483265849657.txt     
│  │      
│  └─3   3768652893657889265.txt
……………………………
数不清的文件……………………

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2012-8-18 00:00:59 | 显示全部楼层

  1. @echo off
  2. pushd C:\
  3. for /f %%i in ('dir /a:d /b ^| findstr "^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$"') do (
  4.     pushd %%i
  5.     for /d %%j in (*) do (
  6.         pushd %%j
  7.         rename *.txt %%i-%%j.txt
  8.         popd
  9.     )
  10.     popd
  11. )
  12. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
狗屁不通 + 1 谢谢大神!

查看全部评分

发表于 2012-8-18 01:30:27 | 显示全部楼层
一个目录下只能有一个文件存在?
  1. @echo off
  2. set "re=[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]"
  3. for /f "delims=" %%a in ('dir /a-d /b /s^|findstr \\%re%\\') do (
  4.   set "a=%%a"
  5.   setlocal enabledelayedexpansion
  6.   set "b=!a:%~dp0=!"
  7.   set "b=!b:\%%~nxa=!"
  8.   ren "!a!" "!b:\=-!%%~xa"
  9.   endlocal
  10. )
复制代码

评分

参与人数 1技术 +1 收起 理由
狗屁不通 + 1 谢谢大神!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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