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

[文件操作] 【已解决】批处理如何将文件名中的指定字符或字符串按指定规则替换成其他内容?

本帖最后由 wpy4206 于 2016-9-2 11:49 编辑

批处理如何获取文件名的字母并根据字母编码表重命名
我有很多照片,都是以字母开头命名的,比如A123.jpg,B2356.jpg,...,而且存放在同一文件夹的不同子文件夹中(子文件夹有2级),想要批量重命名这些照片,根据对应关系A---张三,B---李四...

对应关系:
对应编码        人名
A                张三
B                李四

重命名结果:

张三123.jpg,李四2346.jpg...,不更改原来的照片存放路径。


答案见四楼,去掉第五行的echo
1

评分人数

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

完整对应关系发出来看看
别编数据,否则格式不对会导致代码没法用。

TOP

sort命令行满足你的需求

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for %%a in ("a=张三" "b=李四" "c=王五" "d=赵六") do set %%a
  3. for /f "delims=" %%a in ('dir /s /b /a-d *.jpg') do (
  4.     set "s=%%~nxa"
  5.     for %%b in ("!s:~,1!") do if defined %%~b echo ren "%%~fa" "!%%~b!!s:~1!"
  6. )
  7. pause
复制代码
1

评分人数

初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 2# GNU


    就是对应几个人名

TOP

回复 4# xxpinqz


    运行了一下,没有改变,看看是不是哪里不对?

TOP

回复 3# wskwfkbdn


    回头我学习一下这个命令

TOP

回复 6# wpy4206

你不是写了一小段了,仔细看下第5行
  1. echo ren
复制代码
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 1# wpy4206
第三方ren2
  1. @echo off
  2. set A=张三
  3. set B=李四
  4. ren2 -f -r "A([0-9]+(?:\.jpg|\.JPG))" "%A%$1"
  5. ren2 -f -r "B([0-9]+(?:\.jpg|\.JPG))" "%B%$1"
  6. pause
复制代码
1

评分人数

    • wpy4206: 第三方,简单名了技术 + 1

TOP

回复 8# xxpinqz


    昨天有事,没来得及看到你的回复,我刚接触bat没几天,还是有点看不懂

TOP

回复 9# happy886rr


    第三方ren2,哪里可以下载?

TOP

回复 11# wpy4206
ren2下载地址http://batch-cn.qiniudn.com/tool/ren2.exe

如果你想自己编译ren2添加新功能,清下载其源码,用VS编译就行。
这是它的源码http://www.lomont.org/Software/Utilities/Ren2/rename2.zip

TOP

回复 12# happy886rr


    运行不成功啊
1

评分人数

    • pcl_test: 能用文字说明清楚的勿发图片PB -3

TOP

本帖最后由 happy886rr 于 2016-9-2 07:37 编辑

回复 13# wpy4206
我的脚本,只添加了张三、李四,至于其他字母,请自行添加。我的只是演示替换A、B开头的。你的目录下得有A、B开头的jpg文件。而且这个ren2是在xp、win7完美运行。至于win10如无法运行,请自行用VS编译源码。
源码http://www.lomont.org/Software/Utilities/Ren2/rename2.zip

TOP

回复 14# happy886rr


    哦,我是win10系统,感谢,起的挺早的啊

TOP

返回列表