【发布时间】:2013-01-11 05:52:47
【问题描述】:
感谢 David Ruhmann,昨天我的批处理文件正在用于重命名视频:
@echo off
setlocal EnableExtensions EnableDelayedExpansion
:: Create Empty Folder
rd /Q "%Temp%\Temp" 2>nul & mkdir "%Temp%\Temp"
:: Loop through Folders
pushd "xPath=c:\processing"
for /d %%D in (*) do call :Process "%%~fD"
popd
goto End
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:Process <Parent>
:: Folder Name
set "xFolder=%~nx1"
:: Set Sub Folder
if not exist "%~1\VIDEO\" goto :eof
pushd "%~1\VIDEO"
:: Loop through Videos
for /f "delims=" %%A in ('dir *.avi /b') do if exist "%%~fA" (
set "xDateWritten=%%~tA"
set "xDateGMT=0000/00/00 00:00:00"
for /f "tokens=1,2" %%X in ('robocopy . "%Temp%\Temp" "%%~nxA" /TS /FP /NS /NC /NP /NJH /NJS /NDL /L') do set "xDateGMT=%%X %%Y"
rem Format = FF-FF-YYYYMMDD-HHh-MMm-SSs-FF-FF.ext
echo %xFolder:~0,2%-%xFolder:~2,2%-!xDateWritten:~6,4!!xDateWritten:~0,2!!xDateWritten:~3,2!-!xDateWritten:~11,2!h-!xDateWritten:~14,2!m-!xDateGMT:~17,2!s-%xFolder:~4,2%-%xFolder:~6,2%%%~xA
ren "%%~fA" "%xFolder:~0,2%-%xFolder:~2,2%-!xDateWritten:~6,4!!xDateWritten:~0,2!!xDateWritten:~3,2!-!xDateWritten:~11,2!h-!xDateWritten:~14,2!m-!xDateGMT:~17,2!s-%xFolder:~4,2%-%xFolder:~6,2%%%~xA"
)
popd
goto :eof
:End
endlocal
pause
但现在我需要添加一个附加功能。重命名发生后,我希望脚本导出 新文件名,然后是 以字节为单位的文件大小,以及 视频的长度到 csv 或其他与 excel 兼容的文件类型。由于这些是视频文件,如果我也可以导出 帧率 和 总帧数,那就太好了。不确定这是否甚至在批处理文件的范围内。
【问题讨论】:
-
是否有您希望大小、长度、帧速率和帧数采用的特定格式?示例:长度 = 00h00m00s00ms 或 00:00:00:00
-
size = bytes xxx,xxx,xxx length = hh:mm:ss framerate = xx max frames = xxxxx 编辑:从技术上讲,如果我们拉帧,我们不需要持续时间,它是仅在需要时用于计算最大帧数。
标签: excel ms-access video batch-file frame-rate