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

[文件操作] [ 已解决 ]批处理如何在文件名的开头的数字后面添加所在的文件夹名称?

[复制链接]
发表于 2015-9-16 18:21:51 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2017-6-29 00:01 编辑

前辈们,帮我写一个批处理可以吗?
工作中要经常把一批文件改名,如

003通讯录.doc,改成   003文件夹名称通讯录.doc
02长期负债.jpg,改成  02文件夹名称长期负债.jpg
5清单2.jpg,改成   5文件夹名称清单2.jpg(即后面的数字不理会)

“文件夹名称”是变量

要求
一、在文件名前面的数字后添加“文件夹名称”,处理文件夹里面的所有文件,“文件夹名称”自动获得。
二、只在文件名前面的数字串后添加“文件夹名称”,文件名后面出现的数字不理会。

多谢你们了!

评分

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

查看全部评分

发表于 2015-9-16 20:41:22 | 显示全部楼层
本帖最后由 回家路上 于 2015-9-16 22:57 编辑
  1. @echo off & setlocal enabledelayedexpansion
  2. :: p是文件所在文件夹
  3. set p=D:\xxx\xxx
  4. cd /d %p%
  5. for /f "delims=" %%i in ('dir /b %p%') do (
  6.         set fn=1%%~ni& set /a dn=fn-0
  7.         for %%j in (!dn!) do set fn=!fn:*%%j=!
  8.         ren "%%i" "!dn:~1!文件夹名称!fn!%%~xi"
  9. )
  10. pause & exit /b
复制代码

评分

参与人数 1技术 +1 收起 理由
viziyu + 1 人才

查看全部评分

 楼主| 发表于 2015-9-16 22:44:11 | 显示全部楼层
回家路上 发表于 2015-9-16 20:41


楼上可能有所误解,我要的是更改文件名称,不是移动的
发表于 2015-9-16 22:58:17 | 显示全部楼层
回复 3# viziyu


已修改。

评分

参与人数 1技术 +1 收起 理由
viziyu + 1 多谢

查看全部评分

 楼主| 发表于 2015-9-16 23:09:26 | 显示全部楼层
回复  viziyu


已修改。
回家路上 发表于 2015-9-16 22:58



    非常感谢你,实测是有效的!但还需要一点点改进,就是“文件夹名称”这里,改进为自动获得,比如要处理的文件在名为“测试”的文件夹里,就自动获得“测试”,在文件在名为“正常”的文件夹里,自动获得“正常”
 楼主| 发表于 2015-9-17 00:38:54 | 显示全部楼层
经过改进可以使用了,感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 22:44 , Processed in 0.019404 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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