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

[文件操作] 批量改照片名的BAT脚本现在不重启,不能正常运行。

一个批量改照片名的文件。原来是可以运行的。现在不重启,不能正常运行。改3-4个照片就停了。如果重启或注销就能正常运行。求高手解答。原始是在EXCEl的公式 然后粘贴到文本文档里,然后改名成BAT文件执行的。 谢谢大家

回复 1# 堕落游侠


    请举例说明根据什么规则改照片名?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher


    把照片批量重命名成学生姓名
  学生姓名来源于excel,照片是序列和excel的姓名相对应。
  1,进入到需要重命名文件的文件夹中,新建一个txt文件,内容为dir *.jpg /b>ren.bat(假如你要重命名的是图片的话,其它的文件只要将jpg改为其它文件的扩展名就OK),再改名为1.bat.双击1.bat运行。
  2,2,用记事本打开生成的ren.bat文件,复制里面的全部内容,打开excel,右击A2单元格,选择“选择性粘贴”,选择unicode文本,点击确定。
  (1、2也可省去,直接在Excel文档中粘贴照片原名称)
  Excel文档中,假设学号在第A列,姓名在第B列,身份证号在第C列等等,则在第一条学生信息后的空白单元格中输入="ren "&A2&".jpg "&C2&".jpg"(ren后有空格,前一个jpg后有空格;意思是把A2单元格的名称重命名为C2单元格的名称),回车会得到一个类似“ren 200600001.jpg XXXXXXXXXXXXX.jpg”的DOS命令。
  3.点击该单元格右下角的填充柄,将公式应用到所有学生,复制此列所的数据。
  4.新建一个记事本,粘贴复制的内容,得到的就是文件重命名的DOS命令。
  5.将该文件保存到学生照片文件夹下(学生照片文件夹是复制后的,这样不会破坏原有数据),将扩展名".txt"改为".bat",这时只要双击该文件,就会自动将图片重命名为以身份证号命名的图片文件了。

TOP

回复 2# Batcher


    我就是按这个介绍的编辑的

TOP

回复 3# 堕落游侠


请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ

请参考Q-01观察一下哪行代码在报错以及详细的报错信息:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 qixiaobin0715 于 2021-7-10 06:55 编辑

回复 4# 堕落游侠
上面改名好麻烦。
Excel文档中,假设学号在第A列,姓名在第B列,身份证号在第C列,第一行为列名;图片源文件是以学号命名,现将图片文件名修改为身份证号码。
将Excel文件另存为1.CSV文件,将下面代码存为bat文件,编码均为ansi,均放在图片文件夹中。运行代码,会先将图片文件备份,可防止重命名出现问题。
  1. @echo off
  2. md 备份
  3. copy "*.jpg" "备份\"
  4. for /f "skip=1 tokens=1,3 delims=," %%a in ('type 1.csv') do (
  5. if exist "%%a.jpg" ren "%%a.jpg" "%%b.jpg"
  6. )
  7. pause
复制代码

TOP

返回列表