假设要把当前文件夹下所有照片名字中的字母"a"替换成"b",可以使用以下批处理命令:

@echo off
setlocal enabledelayedexpansion

for %%f in (*.jpg, *.png) do (
    set "filename=%%~nf"
    set "newname=!filename:a=b!"
    ren "%%f" "!newname!%%~xf"
)

echo All done!
pause

解释:

  • @echo off表示关闭命令行窗口的回显。
  • setlocal enabledelayedexpansion表示开启延迟环境变量扩展,用于在for循环中使用变量。
  • for %%f in (*.jpg, *.png) do (...)表示遍历当前文件夹下所有以".jpg"或".png"为扩展名的文件,并对每个文件执行后续操作。
  • set "filename=%%~nf"表示将文件名保存到变量"filename"中,"%%~nf"表示去掉文件扩展名的文件名。
  • set "newname=!filename:a=b!"表示将"filename"中的字母"a"替换成"b",并保存到"newname"变量中。使用"!"而不是"%"是因为延迟环境变量扩展需要使用"!"来引用变量。
  • ren "%%f" "!newname!%%~xf"表示将原文件名改为新文件名。"%%~xf"表示文件的扩展名,保留原有扩展名不变。
  • echo All done!表示处理完成的提示。
  • pause表示暂停程序,等待用户按下任意键继续。

注意:在运行批处理前,建议先备份一下照片文件,以免不小心修改出错导致数据丢失

批处理修改当前文件夹下照片名字中的一个字

原文地址: https://www.cveoy.top/t/topic/fleo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录