UNC polecenie PUSHD

Po otrzymaniu nazwy UNC polecenie PUSHD automatycznie mapuje ją na literę dysku. Skrypt korzysta tutaj z polecenia PUSHD, a nie NET USE, ponieważ ma ono tę przewagę, że przy mapowaniu dysków automatycznie wybiera niewykorzystane litery. Następnie zwiększana jest zmiemia UNCCOUNT, która przechowuje liczbę mapowań dokonanych przy użyciu polecenia PUSHD.

Skrypt musi teraz sprawdzić, która litera dysku została przypisana przez polecenie PUSHD, aby mógł ją przekazać do polecenia NTBACKUP w miejsce nazwy UNC. W tym celu wykonuje się polecenie CD (bez żadnych argumentów, co powoduje wyświetlenie bieżącego dysku i katalogu). Wyjście polecenia CD jest przechwytywane przez polecenie FOR i umieszczane w zmiennej T1. Tak więc zmienna T1 przed wykonaniem powyższych linii zawiera nazwę UNC, a po ich wykonaniu – równoważną jej literę dysku i ścieżkę. Kiedy następnie zmienną T1 dodaje się

do zmiennej PATHLIST, wówczas mapowana litera dysku zastępuje nazwę UNC. Po zakumulowaniu nazw katalogów w zmiennej PATHLIST, podobna pętla (zaczynająca się od etykiety :SWITCHLISTLOOP, linia 76) buduje listę wszystkich opcji. Umieszcza się je, rozdzielone spacjami, w zmiennej SWITCHLIST.

Po przetworzeniu wszystkich argumentów wykonywane jest polecenie NTBACKUP (linia 85), przy czym przekazuje mu się w charakterze argumentów zmienne PATHLIST, NTBACKUPSW oraz SWITCHLIST. Powoduje to skonstruowanie żądanej postaci polecenia NTBACKUP.

Po zakończeniu pracy NTBACKUP trzeba usunąć tymczasowe mapowania dysków, utworzone przez polecenia PUSHD. W tym celu za pomocą itera- cyjnego polecenia FOR (linia 88) wykonuje się odpowiednią liczbę poleceń POPD, określoną przez zmienną UNCCOUNT.

Leave a reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>