EXPAND     Rozpakowuje skompresowane zbiory

                                                     z dyskietki instalacyjnej

 

POSTAĆ:                                                      TYP: ZEWNĘTRZNY

 

          EXPAND [dysk:]zbiór1 [[dysk:]zbiór2 [...]] przeznaczenie

 

ZNACZENIE: Rozpakowuje skompresowane zbiory z dyskietki  instalacyjnej

           dysk: lub z innego miejsca, gdzie  mogą  być  przechowywane

           oryginalne zbiory dystrybucyjne. Można w ten sposób 

           odzyskać jeden lub kilka, uszkodzonych lub  zgubionych  zbiorów.

           Nie można użyć zwykłej komendy COPY, gdyż zbiory te są

           właśnie przechowywane na dyskietkach dystrybucyjnych w postaci

           spakowanej i ze zmienionymi nazwami. Ostatnia litera w nazwie

           rozszerzenia zbioru, jest zamieniona na znak podkreślenia,

           tzn. '_'. Na przykład zbiór COMMAND.COM jest  przechowywany

           na pierwszej dyskietce w postaci spakowanego  zbioru

           o nazwie: COMMAND.CO_

           Na jednej z pierwszych dyskietek znajduje się zbiór o  nazwie

           PACKING.LST, w którym podane są  zawartości  wszystkich

           dyskietek dystrybucyjnych i właściwych nazw przechowywanych

           tam zbiorów.

 

           Komenda ta nie jest wygodna w użyciu i jeśli wiele  zbiorów

           (komend DOS-a) uległo uszkodzeniu, to  znacznie  pewniej  i

           prościej  użyć  jest  powtórnej  instalacji  DOS-a,   czyli

           uruchomienie z pierwszej dyskietki programu  SETUP .

 

 

 

 PRZYKŁADY:

 

 

       EXPAND A:\COMMAND.CO_ C:\COMMAND.COM

           Odzyskanie komendy systemowej COMMAND.COM z dyskietki 

           dystrybucyjnej A: na dysk C: do katalogu głównego.

 

       EXPAND A:\DOSSHELL.CO_ C:\DOS\DOSSHELL.COM

       EXPAND A:\DOSSHELL.EX_ C:\DOS\DOSSHELL.EXE

       EXPAND A:\DOSSHELL.HL_ C:\DOS\DOSSHELL.HLP

       EXPAND A:\DOSSHELL.VI_ C:\DOS\DOSSHELL.VID

       EXPAND A:\DOSSHELL.IN_ C:\DOS\DOSSHELL.INI

       EXPAND A:\DOSSHELL.GR_ C:\DOS\DOSSHELL.GRB

           Odzyskanie wszystkich zbiorów dotyczących programu 'DOSSHEL'

           z dyskietki dystrybucyjnej A: na dysk C: do katalogu  \DOS.

           Niestety nie można tu użyć znaków globalnych * i ?, i trze-

           ba każdy zbiór odtwarzać oddzielnie.

 

 

           Aby to jednak uprościć podaję poniżej makro do rozpakowania

           wszystkich zbiorów z dyskietek  dystrybucyjnych.  Wystarczy

           go uruchomić aby wiedzieć jak go używać. Wykorzystuję w nim

           komendę FOR, która umożliwia wielokrotne wywołanie  jakiejś

           komendy dla różnych zbiorów. Aby to  wykonać  ręcznie  użyj

           zlecenia (najpierw przechodząc na tą dyskietkę):

 

                for %x in (*.??_) do c:\dos\expand %x c:\dos\%x

 

           Mimo to, niektóre zbiory mogą być nieprawidłowo  utworzone,

           a  dotyczy  to  głównie  programu  DOSSHELL,  dla   którego

           modyfikowany  jest  zbiór  DOSSHELL.INI  podczas  wykonania

           właściwego programu SETUP. Zbiór ten jest zmieniany,  gdy

           np.  jest  monitor  kolorowy  zamiast   monochromatycznego.

           Poniżej zamieszczone jest to makro:

 

        

            Zamiast przepisywać poniższe, naciśnij F

        

 

-***-DOS-EXP.BAT-***-

@echo off

if .%1==. echo Wywołaj z dyskietki:       DOS-EXP  dysk:[\katalog\]

if .%1==. echo             na przykład:       DOS-EXP  C:\DOS\

if .%1==. echo UWAGA: potrzebny jest program EXPAND.EXE z ostatniej dyskietki !

if .%1==. goto koniec

 

echo UWAGA:   Wszystkie zbiory na   %1   zostaną skasowane !

echo          Naciśnij cokolwiek dla akceptacji lub przerwij  (Ctrl-C) ....

pause > nul

echo y | del %1*.* > nul

:EXPAND

cls

echo Włóż ostatnia dyskietkę i naciśnij cokolwiek lub przerwij (Ctrl-C) ....

pause > nul

if not exist expand.exe goto EXPAND

copy expand.exe %1expand.exe

cls

echo.

echo Włóż pierwsza dyskietkę i naciśnij cokolwiek lub przerwij (Ctrl-C) ....

pause > nul

 

:again

@echo on

for %%x in (*.??_) do c:\dos\expand %%x %1%%x

@echo off

if exist *.com     copy *.com %1*.com

if exist *.exe     copy *.exe %1*.exe

if exist *.ini     copy *.ini %1*.ini

if exist *.lst     copy *.lst %1*.lst

if exist *.txt     copy *.txt %1*.txt

 

if exist %1*.38_   ren %1*.38_ *.386

if exist %1*.ba_   ren %1*.ba_ *.bas

if exist %1*.co_   ren %1*.co_ *.com

if exist %1*.cp_   ren %1*.cp_ *.cpi

if exist %1*.ex_   ren %1*.ex_ *.exe

if exist %1*.gr_   ren %1*.gr_ *.grb

if exist %1*.hl_   ren %1*.hl_ *.hlp

if exist %1*.in_   ren %1*.in_ *.ini

if exist %1*.ls_   ren %1*.ls_ *.lst

if exist %1*.pr_   ren %1*.pr_ *.pro

if exist %1*.sy_   ren %1*.sy_ *.sys

if exist %1*.tx_   ren %1*.tx_ *.txt

if exist %1*.vi_   ren %1*.vi_ *.vid

 

if exist %1*.??_ del %1*.??_

echo.

echo.

echo Włóż następną dyskietkę i naciśnij cokolwiek lub przerwij (Ctrl-C) ....

pause > nul

goto again

 

:koniec