簡易批次檔,將以 yyyymmdd-hhmmss命名的圖片、影片,移動到 yyyymmdd 目錄下
batch file, move the files /movies which are name with yyyymmdd-hhmmss to yyyymmdd folder.
::move yyyymmdd-hhmmss..mov to yyymmdd folder
::以"-" 做為斷點,將檔名拆成兩段,然後尋找前段,如果不存在則建立目錄,然後將檔案move 到目錄
For /f "tokens=1-2 delims=- " %%a in ('dir /b /a-d') do call :func %%a %%b
goto :eof
:func
IF NOT EXIST %1 mkdir %1
move %1-%2 %1
goto :eof
連拍的圖片會在後面帶序號,重新修改如下
Continuous shooting picture will have the same filename+sn, so fix the batch file as
::move yyyymmdd-hhmmss-???..mov to yyymmdd folder
::以"-" 做為斷點,將檔名拆成兩段,然後尋找前段,如果不存在則建立目錄,然後將檔案move 到目錄
For /f %%a in ('dir /b /a-d') do (
For /f "tokens=1-2 delims=- " %%i in ("%%a") do call :func %%i %%a
)
pause
goto :eof
:func
IF NOT EXIST %1 mkdir %1
echo %1 %2
move %2 %1
goto :eof