Forum » Programiranje » Problem, kako napisat *.bat datoteko
Problem, kako napisat *.bat datoteko
twosocks ::
Zanima me, kako naj s pomočjo .bat datoteke naredim krajšo skripto za backup.
Zadani cilj:
ko zaženem *.bat, da se mi kreira folder z današnjim dnem v imenu, ter se mi v ta folder presnamejo določeni fajli.
hvala za vse odgovore
p.s.: kako se pa v C-ju dobi ven sistemski cas? A ce s C-jemvim programom kaj kopiram, lahko pride do kakih napak? Recimo če mam *.dbf al pa kaj podobnega, se prenesejo pravilno (glede na ASCII).
Zadani cilj:
ko zaženem *.bat, da se mi kreira folder z današnjim dnem v imenu, ter se mi v ta folder presnamejo določeni fajli.
hvala za vse odgovore
p.s.: kako se pa v C-ju dobi ven sistemski cas? A ce s C-jemvim programom kaj kopiram, lahko pride do kakih napak? Recimo če mam *.dbf al pa kaj podobnega, se prenesejo pravilno (glede na ASCII).
*------------------------------------------------------------------*
Ni podpisa
*------------------------------------------------------------------*
Ni podpisa
*------------------------------------------------------------------*
Kekec ::
A nebi raje uporabil kak Backup software, bat datoteke nevem ce so glih prave resitve!
za tisti v C-ju mas pa:
GetLocalTime al pa GetSystemTime
za tisti v C-ju mas pa:
GetLocalTime al pa GetSystemTime
twosocks ::
Sedaj mi ob izklopu programa za baze mi zažene bat datoteko, kjer mi skopira pač v določen direktorij (vedno isti) fajle. Jaz bi rad da mi za vsak dan naredi novega, da imam po dnevih backup in da se mi ne povozi.
Imam na tej mašini win98SE lp
Imam na tej mašini win98SE lp
*------------------------------------------------------------------*
Ni podpisa
*------------------------------------------------------------------*
Ni podpisa
*------------------------------------------------------------------*
twosocks ::
Ja v C-ju se da, sam nimam niti kompajlerja doma...sm mislu na simpl način...
*------------------------------------------------------------------*
Ni podpisa
*------------------------------------------------------------------*
Ni podpisa
*------------------------------------------------------------------*
YouR MaMa ::
za compilere poglej tu
povej mi direktorije, pa file .. pa ce bo kaj casa ti bom naredo programcek ..
povej mi direktorije, pa file .. pa ce bo kaj casa ti bom naredo programcek ..
simon ::
Bat fileti pod okni so ena hudo infantilnih zadev in ni mi jasno kako je lahko folk placeval M$ za taksno bedo.
Kako ustvaris direktorij z trenutnim datumom bi slo na tale (nagravzn ampak dela) nacin:
datum dobis v spremenljivko datum, ki pa zgleda takole "Mon 2001-01-03", zato je pomembno, da klices nek drug bat fajl in mu podas kot argument to spremenljivko. Ta drug fajl bo razumel spremenljivko kot 2 parametra, zato v mkdiru uporabis %2%.
Naprej si lahko naredis bat filet ki ti skopira vse bekapirne fajle v direktorij s tem da je direktorij drugi parameter programu in ga klices za echo @mkdir... vrstico z call backup.bat %datum%. Upam da ti bo pomagalo
Kako ustvaris direktorij z trenutnim datumom bi slo na tale (nagravzn ampak dela) nacin:
@echo off
echo @prompt set datum=$d> tmp$$$.bat
%comspec% /c tmp$$$> tmp2$$$.bat
call tmp2$$$
echo @mkdir %%2%% >tmp3$$$.bat
call tmp3$$$.bat %date_%
del tmp$$$.bat
del tmp2$$$.bat
del tmp3$$$.bat
datum dobis v spremenljivko datum, ki pa zgleda takole "Mon 2001-01-03", zato je pomembno, da klices nek drug bat fajl in mu podas kot argument to spremenljivko. Ta drug fajl bo razumel spremenljivko kot 2 parametra, zato v mkdiru uporabis %2%.
Naprej si lahko naredis bat filet ki ti skopira vse bekapirne fajle v direktorij s tem da je direktorij drugi parameter programu in ga klices za echo @mkdir... vrstico z call backup.bat %datum%. Upam da ti bo pomagalo
twosocks ::
Uau...neki tazga sem iskal...hvala Simon.
khm..ni mi čisto jasno...da dobim drugi del datuma, moram uporabiti še kak bat fajl...?
V direktoriju c:\backup\trenutno\ imam pač shranjene fajle za backup. Rad pa bi, da mi vsak dan naredi v folder c:\backup\ po datumih folderje 2001-01-03, 2001-02-03 2001-03-03 itd...
In torej naj napišem recimo v backup.bat (ki ga dam v c:\backup\):
@echo off
echo @prompt set datum=$d> tmp$$$.bat
%comspec% /c tmp$$$> tmp2$$$.bat
call tmp2$$$
echo @mkdir %%2%% >tmp3$$$.bat
call tmp3$$$.bat %date_%
del tmp$$$.bat
del tmp2$$$.bat
del tmp3$$$.bat
toda kak je potem tist sistem, da kličem z argumentom bat fajl pa vzamem sam drugi del? To si pa napisal spodaj, pa nisem razumel...A se ti da mogoče še za moj dotični primer predelat tole "kodo"?
hvala
khm..ni mi čisto jasno...da dobim drugi del datuma, moram uporabiti še kak bat fajl...?
V direktoriju c:\backup\trenutno\ imam pač shranjene fajle za backup. Rad pa bi, da mi vsak dan naredi v folder c:\backup\ po datumih folderje 2001-01-03, 2001-02-03 2001-03-03 itd...
In torej naj napišem recimo v backup.bat (ki ga dam v c:\backup\):
@echo off
echo @prompt set datum=$d> tmp$$$.bat
%comspec% /c tmp$$$> tmp2$$$.bat
call tmp2$$$
echo @mkdir %%2%% >tmp3$$$.bat
call tmp3$$$.bat %date_%
del tmp$$$.bat
del tmp2$$$.bat
del tmp3$$$.bat
toda kak je potem tist sistem, da kličem z argumentom bat fajl pa vzamem sam drugi del? To si pa napisal spodaj, pa nisem razumel...A se ti da mogoče še za moj dotični primer predelat tole "kodo"?
hvala
*------------------------------------------------------------------*
Ni podpisa
*------------------------------------------------------------------*
Ni podpisa
*------------------------------------------------------------------*
simon ::
Sori ker sem bolj slabo razlozil :(
ti samo naredi v c:backup skript kopiraj.bat z vsebino:
itd za vse filete ki jih zelis kopirat. (zamenjaj c:filetzabekapirat[n] z imeni in potmi tistih zadev, ki bi jih zelel bekapirati)
potem pa naredi v c:backup se filet bekap.bat in vanj skopiraj tole:
ta bekap.bat daj v tisti nadomestek crona (task ??) da se ti zazene vsak dan
to bo moralo zadostovati :)
ti samo naredi v c:backup skript kopiraj.bat z vsebino:
copy c:filetzabekapirat1 %2%
copy c:filetzabekapirat2 %2%
copy c:filetzabekapirat3 %2%
itd za vse filete ki jih zelis kopirat. (zamenjaj c:filetzabekapirat[n] z imeni in potmi tistih zadev, ki bi jih zelel bekapirati)
potem pa naredi v c:backup se filet bekap.bat in vanj skopiraj tole:
@echo off
echo @prompt set datum=$d> tmp$$$.bat
%comspec% /c tmp$$$> tmp2$$$.bat
call tmp2$$$
echo @mkdir %%2%% >tmp3$$$.bat
call tmp3$$$.bat %datum%
call kopiraj.bat %datum%
del tmp$$$.bat
del tmp2$$$.bat
del tmp3$$$.bat
ta bekap.bat daj v tisti nadomestek crona (task ??) da se ti zazene vsak dan
to bo moralo zadostovati :)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | program za pomoč pri tiskanju 200+pdf dokumentovOddelek: Pomoč in nasveti | 2303 (1355) | HotBurek |
» | skripta.sh--> linuxOddelek: Programiranje | 1933 (1798) | mico28 |
» | [bat datoteke] Trenutni datum in uraOddelek: Programiranje | 2505 (2262) | darkolord |
» | linux in particijeOddelek: Operacijski sistemi | 1640 (1375) | Brane2 |
» | slikeOddelek: Izdelava spletišč | 1040 (942) | anubisas |