如何在Windows批处理文件中重命名/重新排列文件名格式以每小时运行一次



你好,我有一台闭路电视摄像机,每小时拍摄一次图像,但文件名是

[IPAddress]_1_201910179144420687_TIMING.jpg有人能帮我把它重命名为类似Cam1_10/172019_9:14.jpg的东西吗?

当我知道指定的文件名时,我只知道简单的重命名,但当相机发送另一个不同时间的文件时,我不知道如何自动重命名。

@echo off
rename "199.177.49.224_1_201910179144420687_TIMING.jpg" "Cam1_10/172019_9:14.jpg"

您可以使用变量替换来自动重命名文件,但是您的文件名中不能有正斜杠,所以我用下划线替换了它:

@echo off
setlocal enabledelayedexpansion
for %%a in (*.jpg) do (
set "line=%%~a"
ren "!line!" "Cam!line:~15,1!_!line:~21,2!_!line:~23,2!!line:~17,4!_!line:~25,1!_!line:~26,2!.%%~xa"
)

然而,你会注意到,一旦你达到两位数的工作时间,上面的内容就会被破坏,而且现在位置发生了变化,但我会让你来解决这个问题提示从cmdline中查看if /?,了解如何测试%line:~25,1%并在小时为个位数的情况下添加零。

最新更新