Preloader image
 
DOSKEY
226
page-template-default,page,page-id-226,simplicity-core-1.0.3,simplicity-theme-ver-2.0.3,ajax_fade,page_not_loaded,smooth_scroll

DOSKEY

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

TYP: ZEWNĘTRZNY

POSTAĆ:
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 pokazywane. 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 parametru /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:
Strzałka w górę – Przypomnienie ostatnio użytkowanej komendy.
Strzałka w dół – 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.
Strzałka w lewo – Ruch kursora w lewo w obszarze pokazywanej komendy.
Strzałka w prawo – Ruch kursora w prawo w obszarze pokazywanej komendy.
Ctrl + Strzałka w lewo – Skok kursora o jedno słowo w lewo.
Ctrl + Strzałka w prawo – 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
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, są tutaj znaki $1 do $9.
  • wyszczególnione znaki zastępują symbole:
ZapisSymbolZnaczenie
$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.
$tOddzielanie komend wewnątrz definiowanego makra. Pozwala połączyć wykonanie wielu komend naraz.
$1 do $9Podstawienie kolejnych parametrów wywołania, tak jak w zbiorach BATCH FILE symbole %1 do %9.
$*Wszystkie parametry wywołania makra są 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ć dowolny 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.