Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem CMD dávka s "if" ("not")

Nazdar,
snažím se vytvořit dávku do batového souboru, která by mi překopírovala data z externích disků (flashek a pokud možno i externích HDD) na moji flashku. To by samo o sobě bylo triviální, ale já potřebuji nějakým způsobem rozlišit co má kopírovat a co ne. Mám hned dva problémy:

1.) Vím jak rozlišit kopírování podle typů souborů, ale rád bych to rozlišil i podle velikosti. Pravděpodobně na to bude něco s podmínkami "if" (př."not"), ale v těch se orientuji je na základní úrovni. Potřebuji tedy následující příkaz:

@xcopy "g:*.pptx" "COPY_G\*.*"

rozlišit tak, aby se nekopíroval soubor větší jak např. 5MB. Ale nevím, jak to udělat. Resp. ve svých pokusech jsem neuspěl.
2.) Pak mám druhý problém. Když vytvořím dávku:

@echo off
@xcopy "g:*.txt" "COPY_G\*.*"
@xcopy "h:*.doc" "COPY_H\*.*"
@xcopy "e:*.docx" "COPY_E\*.*"
pause

tak budu samozřejmě kopírovat data z umístění g (txtčka),h (MS Office W03),e (MS Office W7+), ale já chci kopírovat data pouze z flashek. Nechci čekat, než dávka "projede" i jednotky počítače, na kterém ji použiji. Zkoušel jsem to omezit přes "diskpart" ,ale samozřejmě bezvýsledně. Navíc "diskpart" vyžaduje administrátorská práva a já bych svoji dávku používal i na jiném pc, než mém. Takže mne napadlo opět vnořit funkce "if" a omezit to tentokrát podle velikosti jednotky. Aby příkaz jednoduše přeskočil jednotku větší, než 16(32)GB. Bude to sice omezeno vzhledem k externím HDD, ale na to si pak napíšu dávku samostatně.
Bohužel opět narážím na chabou znalost podmínek v cmd.
Takže si od Vás vzdělanějších slibuji nejen to, že mi pomůžete s vytvořením této dávky, ale i mi vnesete trochu světla do podmínek "if".
Děkuji

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Dobře, tak jsem to na čas hodil k ledu a budu na tom průběžně dělat. Potřebuji ale poradit, jestli j… nový
Ondra HP 14.02.2012 08:05
Ondra HP
errorlevel.php IF %ERRORLEVEL% NEQ 0 echo Prikaz zfailoval >>c:\log.txt poslední
touchwood 14.02.2012 08:26
touchwood

Dobře, tak jsem to na čas hodil k ledu a budu na tom průběžně dělat. Potřebuji ale poradit, jestli jde výpis úspěšnosti dávky po skončení zapsat do dokumentu. Mě to přes prosté ">" nešlo a už na tom dělám hodinu. Kde mám chybu? Můžete sem někdo hodit nějaký vzorový příklad?
Př.:
Řekněme, že mám dávku, která třeba vytvoří složku ("mdir") - úspěšně. Něco někam překopíruje ("xcopy"), ale to jí nepůjde, protože soubor nenajde. a pak třeba něco smaže ("del/erase"), což se jí povede. Jak udělat výpis, který by řekl: mdir OK, xcopy ERROR, del OK. Nemusí to být samozřejmě takto (i s přepisem příkazu), stačí mi zatím jen výpis ("OK, ERROR, OK")
Doufám, že jsem to s tou názorností nepřehnal. :-D
Díky

Zpět do poradny Odpovědět na původní otázku Nahoru