XCOPY
Kopiuje pliki i podkatalogi
(z ładowaniem do pamięci)
POSTAĆ: TYP:
ZEWNĘTRZNY
XCOPY źródło
[przeznaczenie] [/A|/M] [/D:data] [/P] [/S[/E]] [/V][/W]
ZNACZENIE: Kopiuje pliki i
katalogi, włączając podkatalogi, jeżeli
istnieją.
Działanie komendy XCOPY zdecydowanie różni się od
COPY samą metodą
kopiowania, nie mówiąc
już o zakresie
kopiowanych
obiektów. Otóż COPY kopiuje sektor po
sektorze
co w
przypadku różnych urządzeń
oznacza ciągłe
przechodzenie z
jednego napędu na drugi. Natomiast
XCOPY
czyta wszystkie
zbiory źródłowe z pierwszego napędu,
jakie
tylko zdoła pomieścić
aktualnie wolna pamięć operacyjna, a
następnie
przechodzi na drugi napęd i
"zrzuca" je do
ścieżki
końcowej. Pojawia się wtedy
komunikat: "Reading
source file(s) ...". Czyli nie ma
ciągłego odwoływania się
do różnych
napędów, co powoduje, że XCOPY
działa o wiele
szybciej niż
COPY. Jedynie w przypadku kopiowania małych
i
pojedynczych
zbiorów wygodnie jest korzystać z komendy COPY
zwłaszcza,
że COPY jest zleceniem wewnętrznym
a XCOPY
zewnętrznym.
Ponadto za pomocą COPY
można łączyć czyli
dodawać zbiory a
XCOPY tego już nie wykonuje.
Pierwszy zestaw
parametrów napęd i ścieżka określa plik
źródłowy lub
katalog, który ma być kopiowany, drugi
zestaw
określa
plik lub katalog docelowy.
Przynajmniej jeden z
parametrów
określających źródło musi zostać podany.
Jeżeli
parametry określające
kopię nie zostaną
podane, kopia
będzie
umieszczona w katalogu roboczym.
Jeżeli parametr
ścieżka nie
zostanie podany, wybrany będzie katalog roboczy
oraz
wszystkie zbiory jakie tam są,
czyli wybrany będzie
plik *.*.
PARAMETRY:
/A Kopiuje pliki źródłowe, mając
ustawiony atrybut
archive, ale nie powoduje modyfikacji
tego bitu.
Ustawianie tego atrybutu wykonuje
się za pomocą
zlecenia attrib.
/M Działa
tak samo jak przełącznik /a
za wyjątkiem
tego,
że kasuje atrybut archive kopiowanych plików
Ustawianie tego atrybutu wykonuje
się za pomocą
zlecenia ATTRIB.
/D:data Kopiuje pliki źródłowe, które zostały
zmodyfikowane
później niż określa to data.
Należy zauważyć,
że
format daty może być zmienny zależnie od kraju,
do
wymagań którego system operacyjny został
przygotowany
(patrz
zlecenie DATE).
/P Powoduje wyświetlenie zapytania
"Y/N?" umożliwiając
dokonanie wyboru czy kopiować plik czy nie.
/S Kopiuje katalogi i podkatalogi pod warunkiem,
że
nie są
puste. Jeżeli przełącznik ten nie
zostanie
podany,
to zostanie skopiowana zawartość pojedynczego
katalogu.
/E Kopiuje każdy podkatalog, nawet jeżeli
jest pusty.
Tego
przełącznika należy używać wraz z /s.
/V Powoduje weryfikację każdego zapisu, sprawdzając
czy
kopia i oryginał są identyczne.
/W Powoduje wstawienie pauzy przed rozpoczęciem kopiowania.
Na
ekranie zostanie wyświetlony komunikat:
Press any key when ready to start copying files
(By rozpocząć kopiowanie, naciśnij dowolny
klawisz)
Kombinacja klawiszy
CONTROL-C lub CONTROL-BREAK
powoduje przerwanie
wykonania
zlecenia XCOPY w dowolnym momencie.
SUPER WAŻNE: Zlecenie XCOPY nie kopiuje plików, które mają atrybut
HIDDEN (ukryty -
dla komend DOS-a) oraz SYSTEM. Jeśli
chcesz
kopiować takie
zbiory to albo
wpierw musisz usunąć
te
atrybuty albo
użyć programów narzędziowych, jak: PCTOOLS,
XTREE, SIDEKICK
PLUS '88 i inne specjalistyczne programy.
Więcej, zlecenie
XCOPY podczas kopiowania pliku z atrybutem
READ ONLY (tylko
do odczytu) usuwa automatycznie ten atrybut.
Niemniej plik
zostaje skopiowany.
Kody zakończenia:
0 Kopiowanie bez błędów
1 Nie znaleziono plików do
kopiowania
2 Przerwanie użytkownika CONTROL-C
4 Błąd inicjalizacji:
zbyt
mało pamięci, niewłaściwy napęd
lub błąd
składniowy, nieznaleziony plik
lub ścieżka
5 Błąd przerwania INT 24. Krytyczny błąd
podczas od-
czytu
lub zapisu
Przy
przetwarzaniu programów Batch, można
używać zlecenia
IF w celu
obsługi błędów wykorzystując powyższe kody.
PRZYKŁADY:
Poniższe
zlecenie kopiuje całą zawartość dyskietki A:
na B:, to
znaczy wszystkie pliki i
podkatalogi (włączając
puste) z dysku
A: na B:
XCOPY A: B:
/S/E
Poniższe zlecenie
kopiuje wszystkie zbiory typu *.exe z
kartoteki C:\JEZYK\MODULA na dyskietkę A:
do kartoteki
\MODULA z
weryfikacją zapisu dla
wszystkich zbiorów:
XCOPY
C:\JEZYK\MODULA\*.EXE A:\MODULA /V