[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 pcl_test 于 2017-6-29 00:01 编辑

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

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

“文件夹名称”是变量

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

多谢你们了!
1

评分人数

    • pcl_test: 感谢给帖子标题标注[已解决]字样PB + 2

经过改进可以使用了,感谢!

TOP

回复  viziyu


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



    非常感谢你,实测是有效的!但还需要一点点改进,就是“文件夹名称”这里,改进为自动获得,比如要处理的文件在名为“测试”的文件夹里,就自动获得“测试”,在文件在名为“正常”的文件夹里,自动获得“正常”

TOP

回复 3# viziyu


已修改。
1

评分人数

人生是一部书/只有这一页最温暖/读懂它的时候/我们在远方流泪...

TOP

回家路上 发表于 2015-9-16 20:41


楼上可能有所误解,我要的是更改文件名称,不是移动的

TOP

本帖最后由 回家路上 于 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

评分人数

人生是一部书/只有这一页最温暖/读懂它的时候/我们在远方流泪...

TOP

返回列表