Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Jak zálohovat určitý počet záloh v .bat s odebraním nejstarší?

Ahoj zrádci.
Dotaz zní: Jak udělat v .bat, aby mi zálohoval deset dní denně složku souborů (to už mám a funguje), ale pokud bude zálohovat jedenáctý den, aby mi zároveň umazal tu první zálohu?

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Díky za ochotu, ale obávám se že je to nad moje síly. Budu se snažit to nějak pochopit. Alespoň zhru…
IQ37 15.05.2014 00:39
IQ37
forfiles -p "c:\windows\temp" -s -d -11 -m *.* -c "cmd /c del /f /q @path" Smaze vsechny soubory ve…
MaSo 15.05.2014 08:15
MaSo
To forfiles jsem našel už v noci (nemusel jsem to instalovat - někde se to ve W7 už našlo), ale maza…
IQ37 15.05.2014 12:16
IQ37
Ved som to pisal v reakcii. forfiles -p "c:\windows\temp" -d -11 -m *.* -c "cmd /c deltree @path"…
MM.. 15.05.2014 12:19
MM..
DIR /A-D /OD /B | C:\DOS\XSET /LINE 1 FILE DELTREE %FILE% Tohle mi nefunguje (zkoušel jsem změnit tu…
IQ37 15.05.2014 12:20
IQ37
xset.exe si nakopiroval kde? To sa nevyskytuje v PC samo od seba. A pisal som ti DIR /A-D /OD /B mu… nový
MM.. 15.05.2014 12:24
MM..
To jsem zkoušel změnit, ale nefunguje mi to. Toto: forfiles -p "c:\zaloha\temp" -d -2 -m *.* -c "cm… nový
IQ37 15.05.2014 12:44
IQ37
forfiles -p "c:\zaloha\temp" -d -2 -m *.* -c "cmd /c if @isdir==TRUE echo @path" vypise co? ak nic,… nový
MM.. 15.05.2014 12:52
MM..
Vypíše mi to seznam složek v adresáři se zálohami. Konkrtétně jedinou takto starou složku (název). nový
IQ37 15.05.2014 12:59
IQ37
A kedze pouzivas medzeru v ceste, tak potrebujes extra uvodzovky, co sa robi blbo lebo tam uz jedne… nový
MM.. 15.05.2014 12:56
MM..
Toto háže chybu: deltree není názvem vnitřního ani vnějšího příkazu, spustitelného programu nebo dáv… nový
IQ37 15.05.2014 13:08
IQ37
forfiles -p "c:\zaloha\temp" -d -2 -m *.* -c "cmd /c if @isdir==TRUE echo @path" Toto mi vypíše slož… nový
IQ37 15.05.2014 13:11
IQ37
Vo Win NT systemoch je namiesto deltree prikaz RMDIR -r nový
MM.. 15.05.2014 13:16
MM..
sorry ne -r ale rmdir /s, je v tom bordel https://www.microsoft.com/resources/documentation/ windows… nový
MM.. 15.05.2014 13:18
MM..
Ano - rmdir (rd) znám, ale jak mu předat ten název složky? nový
IQ37 15.05.2014 13:21
IQ37
forfiles -p "c:\zaloha\temp" -d -2 -m *.* -c "cmd /c if @isdir==TRUE rmdir /s ^0x22@path^0x22" nový
MM.. 15.05.2014 13:21
MM..
Toto nefungovalo (házelo chybu). Toto je konečně řešení: forfiles -p "E:\Zaloha\Podsložky" -d -2… nový
IQ37 15.05.2014 13:30
IQ37
A funguje to aj ked pouzijes cestu s medzerou? Napr. "E:\neco s mezerou\zalohy" ? nový
MM.. 15.05.2014 13:54
MM..
Ano, skutečnou cestu mám s mezerami. poslední
IQ37 15.05.2014 14:17
IQ37

Díky za ochotu, ale obávám se že je to nad moje síly. Budu se snažit to nějak pochopit. Alespoň zhruba vím, co hledat.

forfiles -p "c:\windows\temp" -s -d -11 -m *.* -c "cmd /c del /f /q @path"

Smaze vsechny soubory ve slozce "c:\windows\temp", starsi nez 11 dni. Testovano na W7 Enterprise...

Kdybys tam nemel forfiles, tak tady: x86

To forfiles jsem našel už v noci (nemusel jsem to instalovat - někde se to ve W7 už našlo), ale mazalo to jenom soubory (i v podsložkách).
Já potřebuju "něco", co by mi smazalo složku podle nejstaršího data vytvoření, anebo první, na kterou to padne.

DIR /A-D /OD /B | C:\DOS\XSET /LINE 1 FILE
DELTREE %FILE%

Tohle mi nefunguje (zkoušel jsem změnit tu cestu C:\..., ale buď ji měnit nemám, nebo jsem dal nesprávnou.)

Asi nepotřebuju /LINE 1 FILE ale /LINE 1 Folder nebo co.

To jsem zkoušel změnit, ale nefunguje mi to.

Toto: forfiles -p "c:\zaloha\temp" -d -2 -m *.* -c "cmd /c if @isdir==TRUE deltree @path" - taky nefunguje. Skript proběhne, ale nesmaže ani soubor, ani složku. -2 tam mám, protože starší zálohy zatím nemám.

forfiles -p "c:\zaloha\temp" -d -2 -m *.* -c "cmd /c if @isdir==TRUE echo @path"
vypise co?
ak nic, tak nefunguje hladanie tej zlozky. Ak vypise stare zlozky, tak nefunguje deltree tak si skus deltree zlozka rucne nech vies co to robi ci tam nepyta nejake otazky, pripadne si vygoogli switche pre deltree aby sa nic nepytal apod.

Vypíše mi to seznam složek v adresáři se zálohami. Konkrtétně jedinou takto starou složku (název).

Toto háže chybu:
deltree není názvem vnitřního ani vnějšího příkazu,
spustitelného programu nebo dávkového souboru.

forfiles -p "c:\zaloha\temp" -d -2 -m *.* -c "cmd /c if @isdir==TRUE echo @path"
Toto mi vypíše složku/složky. Teď bych tam potřeboval přidat něco, co by tu složku/složky smazalo (komplet, včetně podsložek a souborů).

Ano - rmdir (rd) znám, ale jak mu předat ten název složky?

Toto nefungovalo (házelo chybu).

Toto je konečně řešení:

forfiles -p "E:\Zaloha\Podsložky" -d -2 -m *.* -c "cmd /c if @isdir==TRUE rmdir /q /s @path"

Děkuju moc za trpělivost. Já bych mi na tvém místě nadával jako špaček! :-)

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