DOSKEY     Rezydentny program ułatwiający posługiwanie się zleceniami

 

POSTAĆ:                                                      TYP: ZEWNĘTRZNY

 

        DOSKEY [/REINSTALL] [/BUFSIZE=Size] [/MACROS] [/HISTORY]

               [/INSERT | /OVERSTRIKE] [MACRO=Text]

 

ZNACZENIE: Zainstalowanie rezydentnego programu dla ułatwienia obsługi

           wszelkich  poleceń  wydawanych  systemowi.  Można  określić

           wielkość zajętej pamięci operacyjnej, ale minimum 3KB.

                                                                   

 

 PARAMETRY: 

 

 

 

  REINSTALL    - Zainstalowanie nowej kopii programu w  pamięci.  Dodatkowy

                 bufor i nowe ustawienia, lecz poprzednia kopia pozostaje w

                 pamięci nietknięta. Oznacza to, prawie  podwójną  zajętość

                 pamięci. Poprzednio pamiętane komendy nie są teraz pokazy-

                 wane. Startujemy jakby od początku, lecz jeśli  specjalnym

                 programem uda nam się usunąć tę nową  kopię  DOSKEY-a,  to

                 okaże się, że pierwotna kopia nadal pamięta swoje komendy.

                 UWAGA: Samo DOSKEY bez parametru /REINSTALL powoduje także

                        powtórne załadowanie programu do pamięci, ale  nowy

                        bufor komend ma przekopiowaną zawartość ze starego,

                        czyli zawiera taki sam wykaz jak poprzednio.

                 UWAGA: W celu jednoczesnego powiększenia bufora, użyj  pa-

                        rametru /REINSTALL wraz z /BUFSIZE.

 

  BUFSIZE      - Określenie bufora na przechowywanie pamiętanych  komend  i

                 makr. Domyślnie parametr Size przyjmuje  wartość  1024.  W

 

                 celu powiększenia bufora po pierwszym załadowaniu,  należy

                 użyć dodatkowo parametru /REINSTALL.

 

  MACROS       - Pokazuje wszystkie zdefiniowane makra.

 

  HISTORY      - Pokazuje  wszystkie  zapamiętane  do  tej  pory  polecenia

                 (klawisz F7).

 

  INSERT       - Ustawienie  w  trybie  wstawiania  znaków  pomiędzy  inne.

                 Widoczny jest duży kursor. Standardowo ustawione  jest  na

                 OVERSTRIKE, czyli powielanie nowym tekstem po starym (mały

                 kursor. Do zmiany tymczasowej używaj klawisz Ins.

 

  OVERSTRIKE   - Standardowy tryb przepisywania starego tekstu nowym  (mały

                 kursor). Chcąc to zmienić należy użyć przełącznika /INSERT

                 lub nacisnąć klawisz Ins.

 

  MACRO        - Definiowanie makra, czyli przyporządkowanie jednej  nazwie

                 tekstu Text, zawierającego jedną lub kilka komend naraz. W

                 celu  zdefiniowania  następnego  makra,  należy  powtórnie

                 wywołać DOSKEY z nazwą nowego makra a  po  nim  znak  =  i

                 przyporządkowany Text.

 

 PRZYPOMINANIE I MODYFIKOWANIE KOMEND:

 

 

       Po załadowaniu programu DOSKEY,  podczas  pisania  każdej  nowej  i

    podczas poprawiania każdej starej komendy, można  używać  następujących

    klawiszy:

 

          - Przypomnienie ostatnio użytkowanej komendy.

          - Przypomnienie następnej po poprzedniej z użytkowanych komend.

    PgUp   - Przypomnienie najstarszej  (pierwszej) z zapamiętanych komend.

    PgDn   - Przypomnienie najświeższej (ostatniej) z zapamiętanych komend.

 

          - Ruch kursora w lewo  w obszarze pokazywanej komendy.

 

           - Ruch kursora w prawo w obszarze pokazywanej komendy.

    Ctrl- - Skok kursora o jedno słowo w lewo.

    Ctrl-  - Skok kursora o jedno słowo w prawo.

    Home   - Skok kursora na początek pokazywanej komendy.

    End    - Skok kursora na koniec   pokazywanej komendy.

    Esc    - Rezygnacja i skasowanie wyświetlanej komendy.

 

    F1     - Kopiuje po jednym znaku ze wzorca.

    F2     - Skopiowanie ze wzorca aż do znaku podanego po F2.

    F3     - Skopiowanie do końca wiersza.

    F4     - Skasowanie do znaku podanego po F4.

    F5     - Skopiowanie wiersza do wzorca i wyczyszczenie wiersza.

    F6     - Wstawienie znaku końca zbioru Ctrl-Z, czyli

    F7     - Pokazuje wszystkie zapamiętane komendy z pauzą, oraz numerację

 Alt-F7    - Kasuje wszystkie zapamiętane do tej pory komendy.

    F8     - Poszukiwanie komendy  zaczynającej  się  od  podanego  tekstu.

             Napisz najpierw początkowe litery interesującej cię  komendy  i

             naciskaj potem klawisz F8, aż pokazana będzie ta, którą szukasz.

    F9     - Przywołanie polecenia według podanego numeru, po F9.

 Alt-F10   - Kasuje wszystkie zapamiętane makra.

 Ctrl-T    - Symbol  oddzielający zestaw komend w jednej, patrz niżej

 

 

 ROZSZERZONE MOŻLIWOŚCI WYDAWANIA KOMEND:

 

 

    Za pomocą klawiszy Ctrl-T, które dają znak  ,  można  oddzielać  od

    siebie polecenia i tym samym wydać jedno, złożone z kilku naraz  (do

 

    128 znaków). Przykładowo polecenie złożone z czterech, które  będzie

    usuwać katalog \TEST  i  pokazywać  ile  dzięki  temu  zwolniło  się

    miejsce:

                CD \  DEL D:\TEST  RD D:\TEST  DIR

 

    Zauważ, że jest to co innego niż symbole $T, używane do  oddzielania

    komend w definiowanym makro. To nie jest definiowanie  makra,  które

    używa się prosto, przez napisanie tylko nazwy, lecz jednorazowe użycie

    złożonej komendy. Można ją wprawdzie zawsze przypomnieć  i  użyć

    powtórnie po odpowiednim zmodyfikowaniu. Patrz niżej!

 

 

 TWORZENIE MAKR:

 

 

       Oprócz zwykłego pamiętania wydawanych kolejno poleceń,  można  także

    zdefiniować tymczasowo i na stałe nawet  złożone  makro,  które  będzie

    potem wywoływane przez wydanie uproszczonego  i  skróconego  polecenia.

    Aby  je  zdefiniować,  należy  wywołać  program  DOSKEY  z   parametrem

    nazwa=Text, gdzie 'nazwa' jest  nazwą  tego  makra.  Będzie  ono  potem

    wywoływane poprzez tą nazwę. Przykładowo:

        DOSKEY wykaz=dir a:\           - zdefiniowanie makra 'wykaz'

        wykaz                          - wykonanie zdefiniowanego makra

 

       Makro takie może być skomplikowane i  odpowiednio  sparametryzowane,

    według poniższych zasad:

 

    - odpowiednikiem parametrów wywołania %1 do %9 w BATCH FILE,    tutaj

      znaki $1 do $9.

 

    - wyszczególnione znaki zastępują symbole:

 

     Zapis          Symbol            Znaczenie      

     ============================================================

      $g                >                     Skierowanie wyjścia, np. do określonego zbioru, który

będzie od nowa utworzony.

 

      $g$g            >>                   Skierowanie wyjścia w apendzie, czyli dołączeniu, do

                                               już istniejącego zbioru (nie kasuje starej zawartości).

 

      $l               <                      Skierowanie wejścia, np. w  celu  odczytania  zbioru

                                               jako wejścia do programu (np. zamiast klawiatury).

 

      $b                |                      Prześlij wyjście z jednej komendy/makra do drugiej.

 

 

      $t                                      Oddzielanie  komend  wewnątrz  definiowanego  makra.

                                               Pozwala połączyć wykonanie wielu komend naraz.

 

      $1 do $9                              Podstawienie kolejnych parametrów wywołania, tak jak

                                               w zbiorach BATCH FILE symbole %1 do %9 .

 

      $*                                       Wszystkie parametry wywołania  makra    w  całości

                                                przekazywane i podstawiane w miejsce $* bez  rozróżniania.

Cała linia jest przekazywana a nie  pojedynczy

parametr, tak jak to było w $1 do $9.

                       

 

 PRZYKŁADY UŻYCIA MAKR:

 

 

  1. Definiowanie, użycie i kasowanie makra:

 

     DOSKEY DIRDEL=ECHO Y $b DEL $1 $t RD $1

           Zdefiniowanie makra 'DIRDEL', które będzie kasować  automatycznie

           wszystkie zbiory z katalogu podanego w pierwszym  para-

           metrze. Zaraz potem katalog ten zostanie usunięty. Zauważ, że

           komendy oddzielone są za pomocą  znaków  $t.  Pod  $1  będzie

           podstawiany pierwszy parametr wywołania, czyli nazwa katalogu

           do usunięcia. Symbol $b umożliwia przekazanie odpowiedzi  'Y'

           na pytanie komendy DEL, czy chcemy skasować wszystkie zbiory.

           UWAGA: Jeśli w katalogu tym były zbiory o  atrybucie  HIDDEN,

                  READ ONLY lub SYSTEM, to nie zostaną one  usunięte,  a

                  przez to nie uda się potem usunąć tego katalogu. Można

                  temu jednak zaradzić, nieco tylko rozbudowując makro:

 

     DOSKEY DIRDEL=ATTRIB -h -r -s $1\*.* $t ECHO Y $b DEL $1 $t RD $1

           Tak jak poprzednio, ale bez żadnych niespodzianek, pod warunkiem,

           że będzie dostępna komenda ATTRIB.

 

     DIRDEL C:\UTIL

           Przykład  użycia  zdefiniowanego  powyżej   makra   'DIRDEL'.

           Parametrem jest nazwa katalogu 'C:\UTIL', który ma być  automatycznie

           usunięty. Katalog \UTIL nie może być jednak aktualnym.

           Zbiory będą wtedy z niego usunięte, ale sam katalog nie.

           Bądź jednak ostrożny, bo użycie tego makra z  parametrem  C:\

           spowoduje skasowanie wszystkiego z katalogu głównego dysku C:

           wraz z systemem operacyjnym. Będziesz potem musiał  użyć  komendy

           SYS, aby uratować sytuację. Zatem  nie  kasuj  katalogu

           głównego dysku C: !!

 

     DOSKEY DIRDEL=

           Zlikwidowanie makra 'DIRDEL' i zwolnienie miejsca (na pamię-

           tanie większej liczby komend).

 

  2. Tworzenie programu Batch ze zdefiniowanymi makrami DOSKEY:

 

     DOSKEY /MACROS > MAKRA.BAT

           Zostanie utworzony zbiór 'MAKRA.BAT', który  będzie  zawierał

           wszystkie zdefiniowane za pomocą DOSKEY  makra.  Zbiór  Batch

           umożliwi potem łatwe instalowanie powtórne tych makr po prze-

           ładowaniu komputera. W tym celu np. za pomocą programu  EDIT

           lub edytora DOS Commander klawisz F4, dopisać na  początku

           każdego wiersza nazwę komendy doskey i odstęp. Można wtedy

           już, włączyć następującą komendę do zbioru AUTOEXEC.BAT:

                    call makra.bat

 

     DOSKEY /HISTORY > DOSCOMM.BAT

           Zapamiętanie w zbiorze 'DOSCOMM.BAT' wszystkich komend  jakie

           były używane podczas ostatniej  sesji.  Można  tego  programu

           Batch użyć do odtworzenia tej sytuacji, np. po  przeładowaniu

           komputera. Trzeba tylko przed każdą linią dopisać doskey

 

 

 UWAGA: Nie można wywoływać makra z wnętrza programu typu Batch.  Można  za

 

        to utworzyć jakieś makro podczas wykonywania  programu  Batch,  aby

        można je było potem używać ręcznie. Za to makro, może  wywołać  do-

        wolny program, a w tym i Batch.

 

 UWAGA: Nie ma możliwości zagnieżdżania makr, tzn.  nie  może  jedno  makro

        wywołać inne, wcześniej zdefiniowane. Można jednak oczywiście wywołać

        dowolny program, w tym i makrodefinicję typu BATCH FILE.  Można

        zatem napisać najpierw odpowiedni Batch File, a  następnie  definiować

        makra za pomocą DOSKEY, które będą Batch wywoływać z różnymi

        parametrami, zależnie od potrzeb.