Board logo

标题: [文件操作] BAT脚本照片批量改名(含特殊字符) [打印本页]

作者: h22030    时间: 2020-9-26 09:09     标题: BAT脚本照片批量改名(含特殊字符)

求助各位大神:如下图所示,需要图片做批量更名处理

但运行时报错,提示找不到相关文件,分析可能是原文件名:IMG_7681黄维_单招机电.JPG,包含特殊字符_,求助这种情况应该如何批量改名
作者: xczxczxcz    时间: 2020-9-26 09:37

_  好像不属于特殊字符。\w
作者: xczxczxcz    时间: 2020-9-26 09:40

ren 的第一个参数须保证它能识别并找到文件的路径位置。
作者: h22030    时间: 2020-9-26 10:12

回复 3# xczxczxcz


    我是直接在文件夹内运行的
作者: yhcfsr    时间: 2020-9-27 10:48

  1. ren "XXX.JPG" "YYY.JPG"
复制代码

作者: Batcher    时间: 2020-9-27 10:53

回复 1# h22030


把你的代码保存为 test.bat 跟那些图片放在同一个文件夹下,然后参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ

如果还是不行,请参考Q-01观察一下 test.bat 哪行代码在报错:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
作者: qixiaobin0715    时间: 2020-9-29 10:54

本帖最后由 qixiaobin0715 于 2020-9-29 11:05 编辑

回复 1# h22030
按6楼的方法保存和运行下面代码(如果文件名都是"IMG_"+"四位数字"+"人名"+...的话):
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%a in ("*.JPG") do (
  4.     set "str=%%a"
  5.     set str=!str:.JPG=!
  6.     for /f "tokens=2 delims=_" %%i in ("!str!") do (
  7.         set "str=%%i"
  8.         set str=!str:~4!
  9.         ren "%%a" "!str!.JPG"
  10.     )
  11. )
  12. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2