Ukazka, pre
pcforum.sk ..tiez pouzivam obcas cmd..cez bat
Tu aj vidis presny sposob zapisu (priklad), aj ako nato
priklad.:
Kód:
rem -- Robert xxxxxxx --------------------------------------------------
rem // program name .........: zaloha.bat [obnov][zip] //
rem // program function .....: Pomocny subor pre archiv do zalozneho //
rem // adresara ZALOHA\ARCHIV.01 .\ARCHIV.02 //
rem // a ZAL_CIK.DAT\ARCHIV.01 ... //
rem // a ZAL_CIK.RAR\ARCHIV.02 ... //
rem // date .................: 27. 03.2002 //
rem // ---------------------------------------------------------------- //
rem // programming language .: MSDOS Batch //
rem // %1 or ZALOHA - nazov adresara //
rem // na disk, na ZIP (bud kopia alebo spakovane) //
rem // obnov - obnova z vybranej zalohy //
rem // obnov zip - obnova zo zip zariadenia kopiou alebo roz. //
rem // zaloha /? - help //
rem //------------------------------------------------------------------//
rem // DEFINOVANIE ADRESARA PRE EXTERNU ZALOHU (napr. ZAL_LED) //
rem // SET A_DRESAR=ZAL_LED (max. 8 znakov ) bez pripony !! //
rem ----------------------------------------------------------------------
rem I. Nazov adresara ................pre EXTERNU zalohu:
SET A_DRESAR=ZAL_LED
SET DISK=C
REM ..............................PROGRAM.................................
rem ..........ZACIATOK PROGRAMU ..........................................
SET DAT=DAT
if not exist nascom.exe goto :help2
if not exist keyin.com goto :help2
if %1. == . goto :Obraz
if %1 == ZALOHA goto :doit
if %1 == obnov goto :obnov
if %1 == OBNOV goto :obnov
if "%1" == "/?" goto :help4
if "%1" == "?" goto :help4
nascom 3
Echo.
Echo Vykonava sa ARCHIV DATABAZ do podadresara %1. Cakajte prosim...
copy *.ld* .\%1
copy lxmenu.ini .\%1
putdate .\%1\adatum Datum_vytvorenia_zaloznych_suborov
echo.
echo (rb) ARCHIV doterajsich udajov do podadresara [%1] ukonceny.
echo.
echo Stlacte klaves ...
pause >nul
goto :end
:Obraz
SET DAT=RAR
rem /.........................ZALOHA UDAJOV............................./
:doit
nascom 5 48
nascom 6 71
nascom 11
nascom 6 30
echo Z A L O H A databaz programu AAA -%DAT%
nascom 6 26
echo OBNOVA zo zalohy (blizsie info), pouzite prikaz : zaloha /? [enter]
echo ZALOHA Vasa volba: [Esc] - koniec
if "%DAT%" == "DAT" echo [enter] - na tento DISK (KOPIA databaz)
if "%DAT%" == "RAR" echo [P] - na ext. jednotku (SPAKOVANE)
if "%DAT%" == "DAT" echo [J] - na ext. jednotku (KOPIA databaz)
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
if "%DAT%" == "RAR" goto :if_keypak
:if_keydisk
keyin
IF ERRORLEVEL 13 IF NOT ERRORLEVEL 14 GOTO :standart
IF ERRORLEVEL 74 IF NOT ERRORLEVEL 75 GOTO :jednotka
IF ERRORLEVEL 27 IF NOT ERRORLEVEL 28 GOTO :end
goto if_keydisk
:if_keypak
keyin
IF ERRORLEVEL 80 IF NOT ERRORLEVEL 81 GOTO :jednotka
IF ERRORLEVEL 27 IF NOT ERRORLEVEL 28 GOTO :end
goto if_keypak
:standart
if exist .\ZALOHA\zaloha.sbx goto :TestA01
md ZALOHA
echo Vytvoreny adresar ZALOHA >.\ZALOHA\zaloha.sbx
:TestA01
if exist .\ZALOHA\ARCHIV.01\arch01.sbx goto :TestA02
cd zaloha
md ARCHIV.01
echo Vytvoreny podadresar ARCHIV.01 >.\ARCHIV.01\arch01.sbx
cd..
:TestA02
if exist .\ZALOHA\ARCHIV.02\arch02.sbx goto :Spracuj
cd zaloha
md ARCHIV.02
echo Vytvoreny podadresar ARCHIV.02 >.\ARCHIV.02\arch02.sbx
cd..
:Spracuj
if exist Adresar.sbx goto :AdrDruhy
SET Adresar=ARCHIV.01
echo Vyber adresara >adresar.sbx
goto :Vykonaj
:AdrDruhy
SET Adresar=ARCHIV.02
if exist adresar.sbx del adresar.sbx
:Vykonaj
Echo.
Echo Vykonava sa ZALOHA DATABAZ do podadresara %Adresar%. Cakajte prosim...
copy *.ld* .\ZALOHA\%Adresar%
copy lxmenu.cfg .\ZALOHA\%Adresar%
putdate .\ZALOHA\%Adresar%\adatum Datum_vytvorenia_zaloznych_suborov
goto :end
:jednotka
rem call nastavm
if %DISK%. == . goto help3
if %DISK% == c goto disk_ok
if %DISK% == C goto disk_ok
if %DISK% == c goto disk_ok
if %DISK% == D goto disk_ok
if %DISK% == e goto disk_ok
if %DISK% == E goto disk_ok
if %DISK% == f goto disk_ok
if %DISK% == F goto disk_ok
if %DISK% == g goto disk_ok
if %DISK% == G goto disk_ok
goto help1
:disk_ok
if %DAT% == RAR if exist %DISK%:\%A_DRESAR%.DAT\zaloha.sbx goto :helpdat
if %DAT% == DAT if exist %DISK%:\%A_DRESAR%.RAR\zaloha.sbx goto :helprar
if exist %DISK%:\%A_DRESAR%.%DAT%\zaloha.sbx goto :TestZA01
md %DISK%:\%A_DRESAR%.%DAT%
echo Vytvoreny adresar %A_DRESAR%.%DAT% >%DISK%:\%A_DRESAR%.%DAT%\zaloha.sbx
:TestZA01
if exist %DISK%:\%A_DRESAR%.%DAT%\ARCHIV.01\arch01.sbx goto :TestZA02
md %DISK%:\%A_DRESAR%.%DAT%\ARCHIV.01
echo Vytvoreny podadresar ARCHIV.01 >%DISK%:\%A_DRESAR%.%DAT%\ARCHIV.01\arch01.sbx
:TestZA02
if exist %DISK%:\%A_DRESAR%.%DAT%\ARCHIV.02\arch02.sbx goto :SpracZ
md %DISK%:\%A_DRESAR%.%DAT%\ARCHIV.02
echo Vytvoreny podadresar ARCHIV.02 >%DISK%:\%A_DRESAR%.%DAT%\ARCHIV.02\arch02.sbx
:SpracZ
if exist exadres.sbx goto :AdrZDruhy
SET Adresar=ARCHIV.01
echo Vyber adresara >exadres.sbx
goto :VykoZnaj
:AdrZDruhy
SET Adresar=ARCHIV.02
if exist exadres.sbx del exadres.sbx
:VykoZnaj
Echo.
Echo Vykonava sa ZALOHA na externu jednotku [%DISK%:\%A_DRESAR%.%DAT%]. Cakajte prosim...
if %DAT% == RAR goto :rarkuj
copy *.ldb %DISK%:\%A_DRESAR%.%DAT%\%Adresar%
copy *.ldi %DISK%:\%A_DRESAR%.%DAT%\%Adresar%
copy *.cfg %DISK%:\%A_DRESAR%.%DAT%\%Adresar% >nul
copy meno_a.dk %DISK%:\%A_DRESAR%.%DAT%\%Adresar% >nul
copy meno_x.dk %DISK%:\%A_DRESAR%.%DAT%\%Adresar% >nul
goto :ukonci
:rarkuj
rar a -std -av -c- -x@nearch.dk %DISK%:\%A_DRESAR%.%DAT%\%Adresar%\AAA *.ld*
:ukonci
rem echo A_DRESAR - %Adresar% ....
putdate %DISK%:\%A_DRESAR%.%DAT%\%Adresar%\adatum Datum_vytvorenia_zaloznych_suborov
echo.
echo (rb) EXTERNA ZALOHA ukoncena na jednotku...: [%DISK%:]
echo Miesto ulozenia.......................: [%DISK%:\%A_DRESAR%.%DAT%\%Adresar%]
echo.
echo Stlacte klaves ...
pause >nul
if %DAT% == RAR goto :end
goto :doit
rem /............................OBNOVA UDAJOV.............................../
:obnov
if %2. == . goto obnov_v
if %2 == ZIP goto :obnovzip
if %2 == zip goto :obnovzip
goto :help4
:obnov_v
SET OBNOVA=DISK-u
SET D_ISK=.\
SET A_DRESAR=ZALOHA
SET DAT=
goto :sp_obnov
:obnovzip
rem call nastavm
SET DAT=DAT
SET DISK=C
if exist %DISK%:\%A_DRESAR%.DAT\zaloha.sbx SET DAT=DAT
if exist %DISK%:\%A_DRESAR%.RAR\zaloha.sbx SET DAT=RAR
if "%DAT%" == "" goto :help7
SET OBNOVA=ZIP-u
SET D_ISK=%DISK%:\
:sp_obnov
nascom 5 14
nascom 6 30
nascom 11
nascom 6 30
echo P O Z O R !!! Funkcia pre obnovu udajov z [%OBNOVA%] ...
echo.
echo Pokracovat ? [A/Esc]
:if_key1
keyin
IF ERRORLEVEL 65 IF NOT ERRORLEVEL 66 GOTO :ObnovF0
IF ERRORLEVEL 27 IF NOT ERRORLEVEL 28 GOTO :end
goto if_key1
:ObnovF0
echo.
echo Analyza. DATUM archivovanej ZALOHY.................................
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo.
echo ZALOHA c.1. [%D_ISK%%A_DRESAR%.%DAT%\ARCHIV.01]..................bola ulozena dna:
if exist %D_ISK%%A_DRESAR%.%DAT%\archiv.01\adatum type %D_ISK%%A_DRESAR%.%DAT%\archiv.01\adatum
echo.
echo ZALOHA c.2. [%D_ISK%%A_DRESAR%.%DAT%\ARCHIV.02]..................bola ulozena dna:
if exist %D_ISK%%A_DRESAR%.%DAT%\archiv.02\adatum type %D_ISK%%A_DRESAR%.%DAT%\archiv.02\adatum
if %D_ISK% == .\ goto :vynech
if %DISK%. == . goto help5
:vynech
echo.
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo.
echo Ste presveceny o vykonani nasledujucej obnovy ?
echo.
echo [1] - Vykonat obnovu zo [ZALOHA c.1] vid. pozri hore...
echo [2] - Vykonat obnovu zo [ZALOHA c.2] vid. pozri hore...
echo.
echo Esc - Koniec
echo.
:if_key2
keyin
IF ERRORLEVEL 50 IF NOT ERRORLEVEL 51 GOTO :ObnovF2
IF ERRORLEVEL 49 IF NOT ERRORLEVEL 50 GOTO :ObnovF1
IF ERRORLEVEL 27 IF NOT ERRORLEVEL 28 GOTO :end
goto if_key2
:ObnovF2
SET Adresar=ARCHIV.02
goto ObnovF3
:ObnovF1
SET Adresar=ARCHIV.01
:ObnovF3
nascom 5 14
echo.
echo Obnova zo zalohy = cesta [%D_ISK%%A_DRESAR%.%DAT%\%Adresar%]
echo Kopirujem udaje z vybranej zalohy do programu AAA. Pokracovat ? [A/Esc]
:if_key3
keyin
IF ERRORLEVEL 65 IF NOT ERRORLEVEL 66 GOTO :ObnovF4
IF ERRORLEVEL 27 IF NOT ERRORLEVEL 28 GOTO :end
goto if_key3
:ObnovF4
if %DAT%==RAR goto :OBNOr
echo Prebieha kopirovanie. Cakajte prosim ...
copy %D_ISK%%A_DRESAR%.%DAT%\%Adresar%\*.ld*
copy %D_ISK%%A_DRESAR%.%DAT%\%Adresar%\lxmenu.cfg
goto :obnoZAVER
:OBNOr
echo Prebieha rozbalovanie archivovanych udajov. Cakajte prosim ...
if not exist %D_ISK%%A_DRESAR%.%DAT%\%Adresar%\AAA.rar goto :help6
rar e -o+ -std -c- %D_ISK%%A_DRESAR%.%DAT%\%Adresar%\AAA.rar
putdate odatum Datum_obnovenia_archivu
:obnoZAVER
echo.
echo Obnova zo [%D_ISK%%A_DRESAR%.%DAT%\%Adresar%] ukoncena.
pause >nul
goto :end
rem /.................. Chybove hlasenia ............................/
:help1
echo.
echo Jednotka [%DISK%:\] pre externe zalohovanie je zle definovana.
pause >nul
goto :end
:help2
echo.
echo Program je nekompletny.
pause >nul
goto :end
:help3
echo.
nascom 7
echo Momentalne NIE JE definovana ziadna jednotka pre externe zalohovanie!
pause >nul
goto :doit
:help4
echo Zadajte prikaz vo formate :
echo ===========================
echo zaloha = zaloha databaz programu AAA na ext. jednotku SPAKOVANE
echo zaloha obnov = obnova udajov zo zalohy na disku
echo zaloha obnov zip = obnova udajov zo zalohy (napr. zo ZIP-zar.)
pause >nul
goto :endd
:help5
echo.
echo NIE JE definovana jednotka pre externe zalohovanie!
pause >nul
goto :end
:helprar
echo.
echo Na externej jednotke su uz zalohovane udaje funkciou - SPAKOVANE.
echo Pouzivajte aj nadalej tento sposob.
echo.
echo V pripade, ze chcete zmenit sposob archivacie na externej jednotke
echo vymazte na nej najprv adresar %A_DRESAR%.RAR s archivovanymi udajmi.
Pause >nul
goto :doit
:helpdat
echo.
echo Na externej jednotke su uz zalohovane udaje funkciou - KOPIA databaz.
echo Pouzivajte aj nadalej tento sposob.
echo.
echo V pripade, ze chcete zmenit sposob archivacie na externej jednotke
echo vymazte na nej najprv adresar %A_DRESAR%.DAT s archivovanymi udajmi.
pause >nul
goto :doit
:help6
echo.
echo Nenasiel som subor AAA.rar pre rozbalenie.
pause >nul
goto :end
:help7
echo.
echo Nenasiel som pre OBNOVU archivovany adresar %A_DRESAR%.DAT alebo %A_DRESAR%.RAR ...
pause >nul
goto :end
:end
cls
:endd
rem .........premenne:
SET DAT=
SET Adresar=
SET A_DRESAR=
SET OBNOVA=
SET DISK=
SET D_ISK=
Ukazka, co sa "da" aj cez obycajny "BAT" aj pod XP..