předpokládá to původní adresář s fotkami d:\Rok2013 a cílové adresáře vzniknou v d:\Rok2013\01 ... d:\Rok2013\16set zdroj=d:\Rok2013
set cil=d:\Rok2013
(kdyžtak si je tady změň podle svého, jen ať jsou bez mezery, neošetřil jsem uvozovky)
při spuštění se kontroluje, jestli existuje cílový adresář. pokud ne, vytvoří se "cíl"\01...09 a 10...16 pro tvých 16 fotek denně.for /l %%a in (1,1,9) do (if not exist %cil%\0%%a md %cil%\0%%a)
for /l %%a in (10,1,16) do (if not exist %cil%\%%a md %cil%\%%a)
(po vytvoření adresářů jdou tyto dva řádky zaremovat, ale nic se nestane když zůstanou)
pak následuje vytvoření pomocného seznamu názvů fotek, jen pro přehled je setříděn podle data. seznam si všímá archívních bitů, ať to po výpadku nezkouší celé znovu.
mél jsi požadavek na kopírování, ne přesun:
cyklus projde seznam, pomlčku a tečku v názvu použije jako oddělovač. z toho vykousne druhou pozici %%b = pořadové číslo, podle něj probíhá kopírování do předvoleného adresáře.for /f "tokens=1,2,3 delims=-." %%a in (seznam.txt) do xcopy %zdroj%\%%a-%%b.%%c %cil%\%%b\%%a-%%b.%%c /m /f /d
ať kopírování po výpadku a novém spuštění nekopíruje stejné soubory přes sebe, jednak je nastavován archívní bit, jednak je tam parametr "přepsat jen novějším".
pro vlastní pokusy - help viz:
for /?
dir /?
xcopy /?
...a vidím v záhlaví pravopisnou chybu, má tam být:
máš bohužel problém - nechal sis default zapnutý bezpečnostní průser windows = skryté přípony souborů.echo kopiruje soubory ze zdroj\*.* do cil\01-16\*.* podle poradovych cisel
celý ten formátovaný text máš uložit např. přes poznámkový blok na nějaké normální místo (nedoporučuju na plochu), s připonou .bat - např. d:\kopie_fotek.bat - přesvědčíš se příkazem:
dir d:\kopie*
jenže tupý poznámkový blok ti přidá příponu .txt (vznikne d:\kopie_fotek.bat.txt), ty tu blbost nevidíš a nepůjde ti nikdy spustit. potřebuješ normální editor nebo normálního správce souborů nebo normálně nastavené windows.