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

[文件操作] [已解决]如何替换文件名里部分内容为它所在文件夹的名称

[复制链接]
发表于 2011-10-2 19:54:09 | 显示全部楼层 |阅读模式
本帖最后由 kerafan 于 2011-10-3 14:27 编辑

各位大佬,小弟这里有个小问题需要解决一下:
我有个文件夹:D:\Work\功能清单\20111001\,这个文件夹下面有很多文件,这些文件的命名规律是:姓名-内容描述-日期-序号.后缀名,如下:
刘德华-新增配置-20110928-001.xls
刘德华-新增配置-20110928-002.txt
刘德华-新增配置-20110928-003.txt
刘德华-新增配置-20110928-004.txt
现在我需要修改这些文件的日期和它所在文件夹的日期一致,修改后变成这样:
刘德华-新增配置-20111001-001.xls
刘德华-新增配置-20111001-002.txt
刘德华-新增配置-20111001-003.txt
刘德华-新增配置-20111001-004.txt
请问怎么用批处理来实现这个操作?
注:文件夹的日期并非固定为20111001,需要自动提取文件夹名,然后进行日期替换
谢谢各位大佬!

评分

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

查看全部评分

发表于 2011-10-3 07:51:10 | 显示全部楼层
我也是新手,最好先测试一下:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /r D:\Work\功能清单\  %%i in (*) do (
  4. for  %%j in (%%~dpi\.) do set na=%%~nj
  5. for /f "tokens=1-4  delims=-" %%a in ("%%i") do  ren %%a-%%b-%%c-%%d %%a-%%b-!na!-%%d
  6. )
  7. pause
复制代码
发表于 2011-10-3 08:07:49 | 显示全部楼层
出错了,改一下吧:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /r D:\Work\功能清单\  %%i in (*) do (
  4. for  %%j in (%%~dpi\.) do set na=%%~nj
  5. for /f "tokens=1-4  delims=-" %%a in ("%%~nxi") do   ren %%~dpi%%a-%%b-%%c-%%d  %%a-%%b-!na!-%%d
  6. )
  7. pause
复制代码

评分

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

查看全部评分

 楼主| 发表于 2011-10-3 11:13:45 | 显示全部楼层
太感谢了,测试一下先
发表于 2011-10-3 14:03:55 | 显示全部楼层
本帖最后由 Hello123World 于 2011-10-3 14:08 编辑
  1. @echo off&SetLocal EnableDelayedExpansion
  2. For /f "delims=" %%i in ('dir /s /b /ad "D:\Work\功能清单"') do (
  3.         Set name=%%~ni
  4.         For /f "tokens=1-4 delims=-" %%j in ('dir /b "D:\Work\功能清单\!name!\*.*"') do (
  5.                 ren "%%~dpj%%j-%%k-%%l-%%m" "%%j-%%k-!name!-%%m")
  6.         )
  7. pause
复制代码

评分

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

查看全部评分

 楼主| 发表于 2011-10-3 14:27:08 | 显示全部楼层
测试通过,感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 03:07 , Processed in 0.021575 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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