copy
Komenda copy
to podstawowe narzędzie wiersza poleceń Windows służące do kopiowania plików i łączenia ich zawartości. Umożliwia przenoszenie pojedynczych plików, zestawów plików przy użyciu symboli wieloznacznych oraz łączenie plików tekstowych w jeden. copy
działa także w trybie tekstowym, co pozwala na przetwarzanie plików liniowo.
Składnia
Dział zatytułowany „Składnia”copy [/Y | /-Y] [<źródło1> [<źródło2> [...]]] <cel>copy [/Y | /-Y] <źródło> + <źródło> [... ] <nowy_plik>copy /A <plik1> + <plik2> [... ] <plik_tekstowy>
/Y
– nadpisuje pliki docelowe bez potwierdzenia./-Y
– wymusza potwierdzenie przed nadpisaniem.<źródło>
– ścieżka pliku lub wzorzec plików (np.*.txt
).<cel>
– docelowa ścieżka lub plik.+
– operator łączenia zawartości plików./A
– tryb ASCII (tekstowy), używany przy łączeniu plików tekstowych.
Parametry
Dział zatytułowany „Parametry”Parametr | Opis |
---|---|
/Y | Automatyczne potwierdzenie nadpisania istniejących plików w katalogu docelowym. |
/-Y | Wymusza ręczne potwierdzenie przed nadpisaniem pliku docelowego. |
<źródło> | Jeden lub wiele plików do skopiowania. Można używać znaków wieloznacznych (* , ? ). |
<cel> | Ścieżka docelowa: katalog lub pełna nazwa pliku, gdy kopiujesz pojedynczy plik. |
/A | Określa tryb ASCII (tekstowy) przy łączeniu plików tekstowych. |
/B | Tryb binarny przy łączeniu plików binarnych. |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”-
Kopiowanie pojedynczego pliku
Okno terminala copy C:\Dane\plik.txt D:\Backup\plik.txtKopiuje
plik.txt
do folderuBackup
zachowując oryginalną nazwę. -
Kopiowanie wszystkich plików
.docx
Okno terminala copy C:\Dokumenty\*.docx E:\Kopia\Kopiuje wszystkie pliki z rozszerzeniem
.docx
do kataloguKopia
. -
Łączenie plików tekstowych
Okno terminala copy /A C:\Logi\dzien1.txt + C:\Logi\dzien2.txt C:\Logi\caly_dzien.txtZawartość
dzien1.txt
idzien2.txt
zostaje scalona wcaly_dzien.txt
. -
Wymuszenie nadpisania bez pytania
Okno terminala copy /Y raport.csv D:\Kopie\raport.csvNadpisuje istniejący
raport.csv
bez komunikatu. -
Kopiowanie w trybie binarnym przy łączeniu
Okno terminala copy /B obraz1.png + obraz2.png zestaw_obrazow.pngŁączy dwa pliki PNG bajt po bajcie w nowy plik.
copy
jest komendą wewnętrzną interpreteracmd.exe
; aby sprawdzić pomoc, użyjcopy /?
.- Przy użyciu znaków wieloznacznych należy pamiętać, że katalog docelowy musi istnieć; w przeciwnym razie zostanie utworzony plik o nazwie wzorca.
- Łączenie plików tekstowych w trybie ASCII może zignorować znaki spoza standardu ASCII; w przypadku kodowania Unicode zaleca się użycie narzędzia
type
lub PowerShell. copy
zwraca kod wyjścia0
przy powodzeniu,1
przy niekompletnym skopiowaniu lub2
przy błędzie syntaktycznym.- Dla bardziej zaawansowanych operacji na plikach i katalogach warto użyć
robocopy
dla lepszej kontroli i wydajności.
Najczęściej spotykane błędy i jak je naprawić
Dział zatytułowany „Najczęściej spotykane błędy i jak je naprawić”Błąd / Komunikat | Przyczyna | Rozwiązanie |
---|---|---|
File not found | Niepoprawna ścieżka źródłowa lub wzorzec nie dopasował plików. | Sprawdź literówki w ścieżkach i wzorcach; użyj cudzysłowów przy spacji. |
Overwrite C:\Dest\file.txt (Yes/No)? | Domyślnie /Y lub /-Y może wymagać potwierdzenia. | Dodaj /Y dla automatycznego nadpisania lub /-Y , by ręcznie potwierdzić. |
Insufficient memory | Próba kopiowania bardzo dużego pliku przy małej pamięci. | Użyj robocopy lub podziel plik na mniejsze części przed kopiowaniem. |
Access is denied | Brak uprawnień do odczytu lub zapisu pliku. | Uruchom wiersz poleceń jako administrator lub zmień uprawnienia NTFS. |
The system cannot find the path specified | Docelowy katalog nie istnieje. | Utwórz katalog docelowy poleceniem mkdir przed kopiowaniem. |