Poradniki

Jak korzystać z FTP w wierszu poleceń Windows

Praktyczne przejście przez wbudowany w Windows klient FTP z wiersza poleceń – łączenie się, przesyłanie plików poleceniami get i put, skrypty przez -s: oraz to, po co sięgnąć, gdy ftp.exe dochodzi do swoich granic.

· 6 min czytania · Vlad Fedoniuk

Każdy komputer z Windows ma w środku klient FTP działający z wiersza poleceń. Jest tam od lat dziewięćdziesiątych. Otwórz wiersz polecenia albo PowerShella, wpisz ftp i już jesteś w środku. Bez instalowania, bez praw administratora, bez pobierania czegokolwiek. Właśnie dlatego to nadal najszybszy sposób, żeby zabrać plik z serwera FTP na komputerze, nad którym nie masz kontroli, albo zapisać w skrypcie prosty transfer na serwerze budującym Twoje wydania.

Ten przewodnik przechodzi przez całą sesję ftp.exe: łączenie się, przesyłanie plików i pisanie skryptów. Uczciwie wskazuje też moment, w którym to narzędzie przestaje być właściwym wyborem. Jeśli potrzebujesz tylko pełnej listy poleceń, przewodnik po poleceniach FTP zbiera polecenia klienta i protokołu razem, ze składnią i przykładami.

FTP używa dwóch nieszyfrowanych połączeń: kanału sterującego na porcie 21 i kanału danych na zakresie portów. FTPS dokłada do obu TLS, ale nadal potrzebuje dwóch, a SFTP niesie wszystko jednym zaszyfrowanym połączeniem na porcie 22
ftp.exe w Windows mówi wyłącznie pierwszym wierszem. Bez FTPS, bez SFTP.

Krok 1: połączenie z serwerem

Rozpocznij sesję, podając nazwę hosta od razu, albo uruchom klienta najpierw i użyj polecenia open.

C:\> ftp ftp.example.com
ftp> open ftp.example.com

Serwer odpowie komunikatem powitalnym i poprosi o dane logowania. Wpisz nazwę użytkownika i naciśnij Enter, a potem hasło (nie pojawi się na ekranie). Na serwerach, które na to pozwalają, nazwa użytkownika anonymous z dowolnym adresem e-mail jako hasłem daje dostęp do plików publicznych.

Krok 2: poruszanie się

Do poruszania się wystarczą cztery polecenia. dir wypisuje bieżący katalog zdalny, cd go zmienia, pwd pokazuje, gdzie właśnie jesteś, a lcd – o którym wszyscy zapominają – zmienia folder lokalny, do którego trafiają pobrane pliki i z którego brane są te wysyłane.

ftp> dir
ftp> cd /public_html
ftp> lcd C:\Users\vlad\Downloads
Local directory now C:\Users\vlad\Downloads.

Krok 3: przełącz się w tryb binarny

Zanim prześlesz cokolwiek, co nie jest zwykłym tekstem, wpisz binary. W domyślnym trybie ASCII ftp.exe przepisuje w trakcie transferu znaki końca wiersza. Przy plikach .txt jest to nieszkodliwe, ale niszczy pliki binarne, w tym archiwa zip, obrazy i programy. To jedno polecenie zapobiega klasycznemu problemowi „pobrało się, ale nie chce się otworzyć”.

ftp> binary
200 Type set to I.

Krok 4: pobieranie i wysyłanie

get pobiera plik, a put go wysyła. Ich wielopikowe odpowiedniki, mget i mput, przyjmują znaki wieloznaczne, a prompt wyłącza pytanie „t/n” zadawane przy każdym pliku, dzięki czemu wzorce działają bez udziału człowieka. hash wypisuje # po każdym bloku, pokazując postęp długich transferów.

ftp> hash
ftp> get backup.zip
ftp> put report.pdf
ftp> prompt
Interactive mode Off.
ftp> mget *.log

Krok 5: zakończenie sesji

bye (albo quit) zamyka połączenie i kończy program. Cała sesja wygląda tak:

C:\> ftp ftp.example.com
User: alice
Password: ********
ftp> binary
ftp> cd /backups
ftp> lcd C:\Backups
ftp> get site-backup.zip
226 Transfer complete.
ftp> bye

Zapisywanie transferów w skryptach przez -s:

ftp.exe potrafi wykonać skrypt zamiast sesji interaktywnej. Zapisz polecenia w pliku tekstowym (pierwsze dwie linie to nazwa użytkownika i hasło) i przekaż go przełącznikiem -s:. Przełącznik -n blokuje automatyczne pytanie o logowanie, gdy logujesz się w skrypcie poleceniem user.

# upload.txt
alice
secretpassword
binary
cd /public_html
lcd C:\Site\dist
prompt
mput *.html
bye
C:\> ftp -s:upload.txt ftp.example.com

Połącz to z Harmonogramem zadań, a dostaniesz powtarzalne zadanie. Zwróć tylko uwagę, co właśnie zrobiłeś: zapisałeś hasło w zwykłym pliku tekstowym, a protokół wysyła je przez sieć również bez szyfrowania. W sieci firmowej z kontem, którego nie szkoda, jest to w porządku – przy czymkolwiek ważnym nie jest.

Gdzie ftp.exe przestaje być właściwym narzędziem

Wbudowany klient jest naprawdę przydatny, a zarazem ma trzydziestoletnią konstrukcję i wyraźne ograniczenia, o których warto wiedzieć, zanim zaczniesz się z nim mocować.

  • Brak trybu pasywnego. ftp.exe obsługuje wyłącznie transfery w trybie aktywnym, w którym to serwer łączy się z powrotem do Twojego komputera. Współczesne routery i zapory to blokują, więc logowanie działa świetnie, a potem dir albo get wiszą w nieskończoność. Nie ma opcji, która by to naprawiła – trybu pasywnego po prostu nie zaimplementowano.
  • Zero szyfrowania. Nie obsługuje ani SFTP, ani FTPS. Dane logowania i zawartość plików wędrują otwartym tekstem.
  • Brak wznawiania i obsługi podfolderów. Jeśli pobieranie pliku o wielkości 2 GB się urwie, zaczynasz od początku, a nie ma sposobu, żeby przenieść całe drzewo folderów jednym poleceniem.

Przy SFTP Windows 10 i 11 mają w środku polecenie sftp z OpenSSH i to ono jest nowoczesnym wyborem do skryptów. Zestaw poleceń jest podobny, choć nie identyczny – w całości opisuje go przewodnik po poleceniach SFTP.

Kiedy okno programu jest po prostu szybsze

FTP z wiersza poleceń zarabia na siebie przy jednorazowym, szybkim zabraniu pliku i w prostych skryptach. Od chwili, gdy zaczynasz pracować z katalogami po obu stronach, ponawiać nieudane transfery albo przenosić całe drzewa folderów, okienkowy klient wygrywa na czasie. FTPie to darmowy klient FTP dla Windows z działającym trybem pasywnym, mieszczący w jednym oknie SFTP, FTPS, WebDAV i ponad 10 usług chmurowych. Przeciąganie zastępuje mput, transfery wznawiają się same, a darmowy plan udźwignie do 3 połączeń z serwerami.

Jeśli spodobała Ci się strona skryptowa, FTPie Pro ma prawdziwy wiersz poleceń z obsługą SFTP, FTPS i chmur oraz okienkowym kreatorem poleceń, a do tego transfery zaplanowane, które zastępują całe krążenie między skryptami a Harmonogramem zadań. I żadnego hasła w pliku tekstowym.

Kreator poleceń CLI w FTPie składający polecenie transferu z listy czasowników, pól na argumenty i podglądu na żywo

Po pełną listę poleceń zapisz sobie w zakładkach przewodnik po poleceniach FTP, który zestawia polecenia klienta z odpowiadającymi im surowymi poleceniami protokołu.

Zacznij swój 30-dniowy bezpłatny okres próbny

Pobierz FTPie i zacznij bezpłatny 30-dniowy okres próbny. Korzystaj z FTP i chmury w jednym oknie, a potem zostań przy wersji bezpłatnej.

Pobierz wersję próbną
Zweryfikowane w CASA i przeskanowane przez VirusTotal
30 dni próbnie · Wersja bezpłatna w zestawie
Windows 10 & 11
Vlad Fedoniuk

Vlad Fedoniuk

Twórca FTPie. Buduję narzędzia dla Windows do pracy z plikami na serwerach i w chmurze. fedoni.uk Znajdziesz mnie tutaj X (formerly Twitter) , LinkedIn albo napisz e-mail vlad@ftpie.com