重命名多个文件 - 如果要添加数字,命令提示符表示奇怪

时间:2013-05-20 21:11:57

标签: rename command-prompt

我的相机只使用4位数字对照片进行编号,但我现在已经进入了5位数领域。所以对于成千上万的照片,我想添加第五个数字。例如。将IMG_2450重命名为IMG_12450。

我在大约一年前使用命令提示符执行此操作,但我今天无法复制这些结果。

我试过:ren IMG _ *。jpg IMG_1 * .jpg

但最终发生的事情是,不是添加数字1,命令提示符最终会替换现有数字字符串的第一个字符。

因此,IMG_2450变为IMG_1450而不是IMG_12450。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

这是未经测试的 - 首先在一些示例文件夹上尝试。

它将处理当前目录树下的所有img _ * .jpg文件,并期望文件名采用您描述的格式。

@echo off
for /f "delims=" %%a in ('dir /ad /b /s') do (
pushd "%%a"
for /f "delims=" %%b in ('dir img_*.jpg /a-d /b') do (
for /f "tokens=1,* delims=_" %%c in ("%%b") do ren "%%b" "%%c_1%%d"
)
popd
)

如果您只想处理一个文件夹,请尝试此操作(测试后):

@echo off
for /f "delims=" %%b in ('dir img_*.jpg /a-d /b') do (
for /f "tokens=1,* delims=_" %%c in ("%%b") do ren "%%b" "%%c_1%%d"
)
相关问题