Skript .bat pro backup (WinXP SP2)

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Odpovědět
Zkazer
nováček
Příspěvky: 9
Registrován: 19 lis 2006 17:54

Skript .bat pro backup (WinXP SP2)

Příspěvek od Zkazer »

Potrebuji poradit s pomerne jednoduchou veci - jednoduchou pro toho, kdo se vyzna.
Mam vytvoreny soubor s priponou .bat, ktery obsahuje skript, ktery by po spusteni mel provest backup urcite slozky na jine misto. Jen presnou kopii, nic vic.
Potrebuji ale, aby pri kazdem spusteni byla pro cilovy backup vytvorena nova slozka, ktera bude mit nazev ve formatu rok_mesic_den - napr. "2007_12_20".
Problem mam prave se spravnym vytvorenim nazvu slozky. Po hledani na webu jsem vystrachal nasledujici skript (jsem opravdu laik):

Kód: Vybrat vše

@echo off
:: variables
set drive=X:\proste slozka, kam chci backup provadet
set folder=%date:~10,4%_%date:~4,2%_%date:~7,2%
set backupcmd=xcopy /E /I /Y
echo ### Zalohuji neco ...
%backupcmd% "X:\slozka, kterou chci zalohovat" "%drive%\%folder%"
echo Zaloha je hotova!
@pause

Jde o radek

Kód: Vybrat vše

set folder=%date:~10,4%_%date:~4,2%_%date:~7,2%

Misto, aby byl vysledek "2007_12_20", vytvori se slozka s nazvem "007_0._2"
Poradi mi nekdo, jak nastavit ty promenne, aby bylo datum podle pozadavku?
Diky.
Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: 22 kvě 2007 11:34
Kontaktovat uživatele:

Příspěvek od X »

Tak to bude jistě podporou, nebo spíše nepodporou dlouhých názvů souborů. V DOSu nic neobvyklého :lol: Tady v příkazovém řádku je to jistě kopírovaná vlastnost :lol:
Zkazer
nováček
Příspěvky: 9
Registrován: 19 lis 2006 17:54

Příspěvek od Zkazer »

Zkusil jsem teda zmenit to cilove umisteni, aby byla cesta co nejkratsi, vysledna slozka by mela byt

Kód: Vybrat vše

F:\aa\2007_12_20

ale chova se to porad stejne, vysledek je porad

Kód: Vybrat vše

F:\aa\007_0._2

:-( :-(
Mam to z ang. fora a tem lidem to tam funguje, i kdyz ty slozky maji mnohem vice "utopene" ...
Zkazer
nováček
Příspěvky: 9
Registrován: 19 lis 2006 17:54

Příspěvek od Zkazer »

Vcera (20.12.2007) to vytvarelo nazev slozky

Kód: Vybrat vše

F:\aa\007_0._2

o den pozdeji (21.12.2007) je slozka s nazvem

Kód: Vybrat vše

F:\aa\007_1._2

Takze to spravne opisuje z data, jen to zobrazi v mesici a ve dni jen jedno cislo, v roku jen 3 cisla.
Uživatelský avatar
franticek
Level 3
Level 3
Příspěvky: 435
Registrován: 22 úno 2007 01:01

Re: Skript .bat pro backup (WinXP SP2)

Příspěvek od franticek »

Stačí upravit řádek takto (ale proč přesně ti nepovím 8) ):

Kód: Vybrat vše

set folder=%date:~9,4%_%date:~3,2%_%date:~6,2%
A zkoušeli jste to vypnout a zapnout?
d1amond
člen HW spec týmu
Příspěvky: 16119
Registrován: 26 kvě 2008 10:14
Bydliště: České Budějovice

Re: Skript .bat pro backup (WinXP SP2)

Příspěvek od d1amond »

franticek píše:Stačí upravit řádek takto (ale proč přesně ti nepovím 8) ):

Kód: Vybrat vše

set folder=%date:~9,4%_%date:~3,2%_%date:~6,2%


Dovolil bych si doplnit odpověď na otázku proč:) Funkce date u nás (na tom ostrově tedy asi jinak) vrací hodnotu st 09.07.2008 (pro datum 9.7.2008 :blush: ) A tudíž parametr %date:~9,4% mi osekne přesně tu 2008 -> od 9 pozice 4 znaky, parametr ~1,2 by mi dal st, atd....it´s easy :twisted:
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Zkazer
nováček
Příspěvky: 9
Registrován: 19 lis 2006 17:54

Re: Skript .bat pro backup (WinXP SP2)

Příspěvek od Zkazer »

Děkuji všem za pomoc a vysvětlení, extra děkuji "frantickovi", ktery mě i obeslal soukromou zprávou.

Problém tedy vyřešen, u topicu jsem zatrhnul zelenou "fajfku". Díky.
Odpovědět

Zpět na „Programování a tvorba webu“