批量重命名多个文件名

时间:2013-07-15 17:00:53

标签: batch-file dos

我想将* _PolishedChrome.jpg中的特定图像名称重命名为* -pch.jpg。我尝试了一些不同的方法,包括重命名DOS命令,但无法找到正确的方法来做到这一点。这些文件位于我桌面上的文件夹中,它们都是.jpg图像。 图像名称的最后一部分有多个文件。

示例:将3-04012C_PolishedChrome.jpg重命名为3-04012C-pch.jpg

感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

我认为这会做你想要的(只需将它放在与jpgs相同的文件夹中并运行):

请记住在运行此文件之前备份文件,因为它会移动磁盘上的文件。它可以通过重命名来完成,但这是更多的努力,因为我必须解析文件名。

另请注意,运行此选项会重新命名您的文件,因此它只能在文件夹中运行一次......可以更改,但这更像是一个起点。

@echo off
setlocal ENABLEDELAYEDEXPANSION
for /r %%i in (*.jpg) do (
set str=%%i
set str=!str:_PolishedChrome.jpg=!-pch.jpg!!
move %%i !str!
)

DEBUG版本 - 打印出log.txt以查看出错的地方。

@echo off 
setlocal ENABLEDELAYEDEXPANSION
for /r %%i in (*.jpg) do (
set str=%%i
set str=!str:_PolishedChrome.jpg=!-pch.jpg!!
move %%i !str!
@echo move %%i !str! >> log.txt
)