[ xl_kid @ 27.05.2013. 09:58 ] @
nasao sam negde na netu zanimljiv nacin update FE aplikacije pomocu bat fajla. dole je kod.

*********************************************************************************
DEL "C:\MojaAPP\APP.mde /q

copy "v:\APP.mde" C:\MojaAPP\ /V /Y

START /MAX "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE /runtime" "C:\MojaAPP\APP.mde"
*********************************************************************************

Na serveru imam folder gde mi je smastena baza kao i APP.mde. Na svim masinama sam napravio mrezni drajv "V" koji je linkovani folder na serveru. Prilikom svakog pokretanja bat fajla brise se APP.mde iz (ranije napravljenog) foldera MojaAPP na "C" disku i kopira iz "V" diska. Tako sam resio problem aziriranja FE i svi uvek imaju poslednju verziju. Ako hocete da izgleda malo lepse mozete od .bat fajla napraviti .exe i ujedno ga zaključati.

E sad dolazi moj problem ako mi neko moze pomoci jer nisam uspeo sam. Hteo bih da koristim IF funkciju ovde. Ako je folder prazan (u mom slucaju samo "V" disk) tj nema APP.mde da pokrene "START /MAX "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE /runtime" "C:\MojaAPP\APP.mde"" bez brisanja ali ako u folderu na "V" disku postoji APP.mde onda da izvrsi kod

"DEL "C:\MojaAPP\APP.mde /q
copy "v:\APP.mde" C:\MojaAPP\ /V /Y
START /MAX "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE /runtime" "C:\MojaAPP\APP.mde"

hvala na pomoci unapred

[ izonic @ 27.05.2013. 10:24 ] @
@echo off
if exist v:\APP.mde (
DEL C:\MojaAPP\APP.mde /q
copy v:\APP.mde C:\MojaAPP\ /V /Y
START /MAX "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE /runtime" "C:\MojaAPP\APP.mde"
)
[ xl_kid @ 27.05.2013. 10:32 ] @
ne izvrsava ovaj deo koda ***START /MAX "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE /runtime" "C:\MojaAPP\APP.mde"*** ako APP.mde ne postoji.
[ xl_kid @ 27.05.2013. 10:36 ] @
dodao sam i else. ovako radi

@echo off
if exist v:\APP.mde (
DEL C:\MojaAPP\APP.mde /q
copy v:\APP.mde C:\MojaAPP\ /V /Y
START /MAX "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE /runtime" "C:\MojaAPP\APP.mde"
) ELSE (
START /MAX "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE /runtime" "C:\MojaAPP\APP.mde"
)
[ izonic @ 27.05.2013. 11:48 ] @
dodao sam i else. ovako radi

@echo off
if exist v:\APP.mde (
DEL C:\MojaAPP\APP.mde /q
copy v:\APP.mde C:\MojaAPP\ /V /Y
)
START /MAX "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE /runtime" "C:\MojaAPP\APP.mde"
[ Zidar @ 27.05.2013. 20:47 ] @
Nisam znao da ima IF i EXISTS u batch fajlovima. HVala na fazonu, odlicno. :-)

Kod mene to radi bez provere da li folder postoji, MD pise preko postojeceg foldera.

BAT fajl , StartMyApp.bat::
Code:

REM Create new local forlder. If exists, will be overwritten
md c:\MojFolder
attrib -r c:\MojFolder

REM Copy from network to the local forlder
copy "MojaApp.accde" c:\MojFolder\MojaApp.accde
attrib -r c:\MojFolder\MojaApp.accde

REM launch local copy of the "DLS_Review_2K7.mde" 
REM Note / / instead of  \ \
START "" "c:/MojFolder/MojaApp.accde"

REM word START makes DOS window dissapear


StartMyApp.bat se nalazi u folderu gde se nalazi glavna kopija programa MojaApp.accde
Korisnici imaju shortcut na desktopu koji poziva StartMyApp.bat.
Shortcut aktivra bat fajl kreira direktorijum na lokalnom disku (ako vec postoji, pis epreko njega, pa ne treba DELETE i IF)
BAT fajl zatim otvara lokalnu kopiju MojaApp.accde. Pretpostavlja se da Windows zna gde se nalazi Access.
Upotreba komande START zatvara DOS prozor, da ne stoji otvoren dok je aplikacija aktivna.