Войти

Показать полную графическую версию : [решено] Сортировка фотографий по году создания


dark-------13
20-04-2011, 13:29
Здравствуйте,

Подскажите пожалуйста, как реализовать следующую задачу через bat:

Есть у меня на диске папка с фотографиями - более 3000 фото ( называется pics лежит на диске D ), внутри нее фотографии и папки с фотографиями, необходимо сортировать эти фотографии по году создания переместив ( или скопировав ) их в папку new на диске D, в отдельные папки - созданные желательно на автомате по году создания фотографий.

Или хотя бы как найти фото скажем за 2008 года и перенести их в указанную папку.

amel27
20-04-2011, 13:58
как-то так:
@echo off
SETLOCAL EnableDelayedExpansion

set $SRC=d:\pics
set $DST=d:\new

for /r "%$SRC%" %%a in ("*.jpg") do for /f "tokens=3 delims=./ " %%y in ("%%~ta") do (
if not exist "%$DST%\%%y" md "%$DST%\%%y"
if not exist "%$DST%\%%y\%%~nxa" (move "%%a" "%$DST%\%%y\">nul) else (set $n=1
for /f "delims=" %%i in ('dir/b/a-d "%$DST%\%%y\%%~na_*%%~xa"2^>nul') do (
if exist "%$DST%\%%~na_!$n!%%~xa" set/a $n+=1)
ren "%%a" "%%~na_!$n!%%~xa"&& move "%%~dpna_!$n!%%~xa" "%$DST%\%%y\">nul
))

P.S. не забудьте про резервную копию папки перед экспериментами... ;)

dark-------13
20-04-2011, 15:06
Спасибо вам amel27 выручаете меня уже 2 раз.




© OSzone.net 2001-2012