怎么批量在视频文件后加创建日期和时间,求大佬写个BAT
@echo off
setlocal enabledelayedexpansion
set "dateformat=yyyyMMdd"
set "timeformat=HHmmss"
rem 按照创建时间重命名视频文件
for /r %%f in (*.mp4,*.avi,*.mov) do (
set "filename=%%~nf"
set "extension=%%~xf"
for /f "usebackq tokens=1,2 delims= " %%a in (`dir /tc "%%~f" ^| findstr /b "[0-9]"`) do (
set "datestr=%%a"
set "timestr=%%b"
set "datestr=!datestr:/=!_"
set "timestr=!timestr::=!_"
)
ren "%%~f" "!filename!_!datestr!!timestr!!extension!"
)
麻烦重新试下如下代码,我测试是成功的
一种方法是使用一个命令行工具叫做 TimeBack.exe,它可以修改文件的创建时间和修改时间。您可以下载这个工具,并将它和一个批处理脚本放在同一个文件夹下,然后运行批处理脚本。批处理脚本的内容大致如下:
@echo off
for %%a in (*.mp4) do (
for /f "tokens=1-6 delims=/: " %%b in ('TimeBack /f "%%a" ^| find "创建时间"') do (
ren "%%a" "%%a-%%b%%c%%d-%%e%%f.mp4"
)
)
这个脚本会遍历当前文件夹下的所有 mp4 文件,读取它们的创建时间,并在文件名后面加上日期和时间。如果您想修改时间格式或者其他细节,您可以根据自己的需要修改脚本。
另一种方法是使用一个软件叫做 Bulk Rename Utility,它是一个强大的批量重命名工具,支持多种规则和选项。您可以下载并安装这个软件,然后打开它,选择您想要重命名的 mp4 文件,在右侧的面板中设置好重命名规则,并点击开始按钮。重命名规则中有一个选项叫做 Date (7) ,它可以让您根据文件的创建日期或者修改日期来重命名文件。您可以在这里选择合适的日期格式和分隔符。
可以使用以下的批处理脚本来实现在视频文件名后面添加当前的日期和时间:
@echo off
setlocal enabledelayedexpansion
for %%i in (*.mp4) do (
set "filename=%%~ni"
set "extension=%%~xi"
set "datetime=!date:~0,4!!date:~5,2!!date:~8,2!-!time:~0,2!!time:~3,2!!time:~6,2!"
ren "%%i" "!filename!-!datetime!!extension!"
)
echo Done!
pause
将上述代码保存为一个批处理文件(例如,add_datetime.bat),将其放置在需要处理的视频文件所在的文件夹中。运行该批处理文件后,会自动将所有后缀为 .mp4 的视频文件名后加上当前日期和时间,格式为“-20230312-222347”。
需要注意的是,该脚本中添加的日期和时间是以当前系统时间为准,如果系统时间不正确,那么生成的文件名日期和时间也会不正确。
1,新建一个文本文件,将以下代码复制粘贴到文件中:
@echo off
setlocal enabledelayedexpansion
REM 设置视频文件所在的目录路径
set "folder=C:\videos"
REM 遍历目录中的视频文件
for %%i in ("%folder%\*.mp4") do (
REM 获取文件的创建时间
set "timestamp=%%~ti"
REM 格式化时间为 yyyy-MM-dd HH-mm-ss
set "datetime=!timestamp:~0,4!-!timestamp:~4,2!-!timestamp:~6,2! !timestamp:~8,2!-!timestamp:~10,2!-!timestamp:~12,2!"
REM 在文件名后加上时间戳
ren "%%i" "%%~ni_!datetime!%%~xi"
)
echo "Done!"
pause
2,将代码中的 C:\videos 替换为你视频文件所在的目录路径。
3,将文本文件保存为一个 .bat 文件,例如 add_date_to_video_filename.bat。
双击运行 .bat 文件,程序将自动在视频文件名后加上创建日期和时间戳。加上时间戳后的文件名格式为 filename_yyyy-MM-dd HH-mm-ss.ext,例如 video_2023-03-21 15-30-45.mp4。
注意:请在测试前备份视频文件,以免意外删除或修改视频文件。
您可以使用以下代码创建一个批处理文件,将指定目录下的所有mp4文件的文件名后面添加当前日期和时间:
@echo off
setlocal enabledelayedexpansion
set "dir=C:\Users\username\Videos" //指定要处理的目录
for /r "%dir%" %%a in (*.mp4) do (
set "oldName=%%~na"
set "newName=!oldName!-%date:~0,4%%date:~5,2%%date:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2%!%%~xa"
ren "%%a" "!newName!"
)
echo Done!
pause
请注意,此脚本假设您的Windows操作系统的日期格式为“年-月-日”,并且使用24小时制表示时间。如果您的日期格式或时间格式不同,请相应地更改第9行和第10行中的格式化字符串。
另外,请将第4行中的目录路径替换为您要处理的实际目录路径。在运行脚本之前,建议您先备份目录中的所有文件以避免不必要的数据丢失