Pengunggahan file secara otomatis ke FTP dan pengiriman file melalui email. Cara mengunduh file dari FTP dari baris perintah Windows File batch untuk mengunduh file dari FTP

Protokol FTP adalah salah satu protokol jaringan umum yang digunakan oleh pengguna Internet. Mayoritas orang menggunakan berbagai klien FTP untuk mengunduh apa pun dari server FTP. Namun tidak banyak orang yang tahu bahwa Windows memungkinkan Anda terhubung ke server FTP dari baris perintah.

Dalam tip ini Anda akan mempelajari caranya unduh file dari server FTP menggunakan perintah DOS sederhana.

Petunjuk langkah demi langkah:

Untuk unduh file dari FTP dari baris perintah string Windows , mari lakukan beberapa langkah sederhana:

  1. Buka command prompt Windows dengan mengklik Start - Run, ketik cmd dan tekan Enter.
  2. Jalankan perintah berikut: Dengan menggunakan perintah ini, kita akan terhubung ke server Microsoft ftp.
  3. Masukkan nama pengguna anonim. Server perusahaan terkenal ini memungkinkan pengguna anonim untuk terhubung:
  4. Masukkan email Anda sebagai kata sandi (Anda dapat memasukkan kata sandi yang tidak ada):
  5. Selamat atas login Anda yang berhasil!
  6. Untuk melihat file dan direktori apa saja yang tersedia di server ftp, masukkan perintah dir:
  7. Hasilnya, kami mendapatkan daftar file dan direktori yang terletak di server ftp:
  8. Untuk pergi ke direktori yang diperlukan, gunakan perintah cd:
  9. Pesan "250 perintah CWD berhasil" akan menandakan bahwa kita telah berhasil berpindah ke direktori yang kita perlukan:
  10. Untuk mendownload file yang kita butuhkan, masukkan perintah get dan nama file yang diunduh:
  11. Setelah berhasil menerima file, sistem akan memberi tahu kami:
  12. Untuk meninggalkan server ftp dan memutuskan sambungannya, jalankan perintah bye:

Mungkin banyak yang akan mengatakan bahwa mengunduh file jauh lebih nyaman menggunakan pengelola unduhan multifungsi atau klien ftp. Tetapi jika perlu (atau sebagai alternatif), Anda dapat menggunakan yang sederhana perintah DOS itu akan memungkinkan Anda unduh file dari ftp tanpa biaya tambahan.

Untuk terhubung ke server FTP, tidak perlu menggunakan program pihak ketiga apa pun - ini dapat dilakukan menggunakan fitur standar Windows. Untuk melakukan ini, Anda dapat menggunakan baris perintah CMD. Namun untuk mengelola server melalui kemampuan standar sistem operasi, Anda harus mempelajari perintah yang tersedia, karena CMD tidak memiliki antarmuka visual. Pada artikel ini, Anda akan mempelajari perintah dasar FTP dan cara mempraktikkannya.

Mengapa lebih baik mengunduh klien daripada menggunakan CMD?

Jika baris perintah CMD memungkinkan Anda melakukan semua operasi yang tersedia di server FTP, maka klien mungkin tidak diperlukan. Namun kenyataannya lini CMD sangat terbatas dalam hal manajemen server. Oleh karena itu, lebih baik mencari peluang dan mengunduh utilitas untuk mengelola server melalui FTP ke komputer Anda. Misalnya, unduh program klien FileZilla ke PC Anda - program ini dapat diunduh secara gratis dari situs web resmi pengembangnya. Tidak perlu banyak waktu untuk menginstal. Dan untuk terhubung ke server, Anda hanya perlu memasukkan login, kata sandi, dan nama host di baris yang diperlukan. Jauh lebih sulit melakukan ini melalui CMD.

Kerugian spesifik dari jalur CMD adalah Anda bahkan tidak dapat masuk ke mode pasif saat berada di server. Dan tanpa mode ini, Anda tidak akan bisa bertukar file dengan server FTP yang beroperasi melalui NAT.

Faktanya, ini adalah kelemahan yang sangat besar pada CMD. Oleh karena itu, terimalah kenyataan bahwa baris perintah Windows hanya cocok untuk manipulasi di dalam berkas sistem tanpa pertukaran data. Meskipun bagi mereka yang menggunakan server FTP untuk pekerjaan rutin dan monoton, baris perintah mungkin tampak sangat nyaman. Namun lebih baik mencoba klien dan CMD untuk menarik kesimpulan.

Apa perintah untuk mengelola FTP di prompt CMD?

Untuk memulai, luncurkan baris perintah. Anda dapat melakukan ini dengan mencari di Mulai - temukan file cmd.exe dan buka, setelah itu baris akan diluncurkan.

Untuk terhubung ke server, Anda perlu menggunakan perintah OPEN. Setelah perintah ini, Anda harus memasukkan alamat IP atau nama host yang ingin Anda gunakan untuk membuat koneksi. Setelah memasukkan permintaan ini, Anda akan dapat masuk ke server. Ini dapat dilakukan dengan menggunakan perintah USER, yang meminta otentikasi melalui login yang dimasukkan. Kemudian Anda perlu memasukkan perintah PASS yang artinya kata sandi. Saat Anda memasukkan kata sandi dan menekan "Enter", Anda akan diberi otorisasi di server.

Secara umum, baris perintah hanya cocok untuk “menjelajahi” server, memindahkan file, dll. Pertama, Anda perlu melihat file yang ada di server. Untuk melakukan ini, gunakan perintah LS. Karena tidak ada kursor pada baris perintah, Anda perlu memilih direktori atau file menggunakan perintah khusus. Gunakan jalur CD atau LCD untuk ini - yang pertama diperlukan untuk mengubah objek saat ini di komputer jarak jauh, dan yang kedua diperlukan untuk objek lokal, yaitu untuk PC Anda.

Meskipun Anda tidak dapat mengunggah file Anda ke server FTP melalui CMD, data dapat diunduh ke komputer Anda. Untuk melakukan ini, gunakan perintah GET. Pertama, tulis perintah GET dengan nama file, lalu tunjukkan direktori mana di komputer Anda yang sekarang, sehingga server akan mentransfer data ke folder tersebut.

Perintah-perintah ini paling sering digunakan. Artinya, sebagian besar pengguna mengelola server melalui CMD agar dapat mengunduh file dengan cepat tanpa menginstal klien terlebih dahulu. Tapi Anda bisa melangkah lebih jauh dan menggunakan perintah lain di server menggunakan prompt CMD. Misalnya, Anda dapat menambahkan sinyal penyelesaian perintah ke server menggunakan string BELL.

Jika Anda ingin mengakhiri sesi dan keluar dari baris perintah dan server, masukkan BYE. Dan untuk menghentikan koneksi kontrol hanya di server, sehingga Anda tetap berada di dalam baris perintah, tulis CLOSE. Dalam hal ini, file yang Anda unduh ke PC Anda dari server akan terus diunduh dan setelah pengunduhan selesai, sesi akan ditutup sepenuhnya.

Dengan menggunakan CMD Anda dapat dengan mudah memanipulasi direktori di server. Misalnya, untuk menghapus direktori tertentu, gunakan perintah DELETE. Agar daftar file dalam folder tertentu muncul di layar, masukkan DIR dan jalur ke direktori. Jika Anda ingin menghapus bukan hanya satu folder atau file, tetapi beberapa folder sekaligus, maka gunakan perintah MDELETE, yaitu multi-deletion. Demikian pula, awalan "m" dapat digunakan untuk perintah lain sehingga beberapa tindakan dapat digabungkan menjadi satu. Jadi, untuk menampilkan daftar file di beberapa direktori sekaligus, tulis MDIR, dan untuk mendownload kumpulan data dari server, gunakan MGET. Tapi jangan bingung antara multi-perintah dengan satu MKDIR - ini diperlukan untuk menghasilkan direktori di server.

Ada kemungkinan server FTP Anda beroperasi tanpa teknologi NAT, sehingga mode klien pasif tidak diperlukan. Dalam hal ini, Anda akan dapat mengunduh file tertentu kepada tuan rumah. Gunakan perintah MPUT untuk mengunggah banyak file, dan PUT jika Anda hanya ingin mengunggah satu.

Perintah populer lainnya yang mungkin berguna bagi Anda adalah RENAME. Perlu perintah untuk mengganti nama file. Ini akan berguna bagi mereka yang menggunakan server sebagai tempat penyimpanan data situs. Anda juga memerlukan perintah PWD, yang menentukan folder saat ini di server FTP jarak jauh, bukan di komputer Anda, seperti yang dilakukan saluran LCD.

Perintah berikut adalah sebagian daftar fungsi yang dapat Anda gunakan di FTP. Ada tim lain juga. Dan Anda dapat mengetahuinya langsung di baris perintah jika Anda memasukkan kueri BANTUAN. Setelah ini, sebuah direktori akan muncul dengan semua perintah CMD yang tersedia yang dapat digunakan di FTP. Ingatlah bahwa saat ini Anda harus terhubung ke server, jika tidak, Windows akan memberi Anda direktori yang berbeda. Dan jika Anda ingin meminta bantuan dari server itu sendiri, maka tulis REMOTEHELP.

Tentu saja, mengelola server dengan perintah adalah hal yang sulit. Oleh karena itu, lebih baik tidak membuang waktu, unduh klien FTP biasa ke komputer Anda dan gunakan server secara maksimal, dan tidak sebagian. Namun berlatih di baris perintah CMD tidak akan merugikan siapa pun!

Saya perlu mengirim file laporan setiap jam ke server FTP dan juga menggandakan pengiriman file-file tersebut melalui surat ke beberapa penerima. Setelah beberapa penelitian saya memilih utilitas bawaan ftp.exe (C:\Windows\System32\ftp.exe) dan blat lama yang bagus. Jadi, mari kita mulai. Kita perlu mengunggah semua file XML dari direktori %dir%\file_export (di mana %dir% adalah jalur ke folder kita) ke server ftp.server.com setiap jam.
Versi baru dengan Python

Menyiapkan pengunggahan file ke FTP

Buat file perintah untuk ftp.exe
Kami menciptakan Dokumen Teks(misalnya ftpcomm.txt) kami menulis di dalamnya:
Gabung
kata sandi
cd DI
biner

selamat tinggal
Di mana:
Gabung- masuk server ftp
kata sandi- kata sandi untuk server ftp
cd DI- buka folder yang diinginkan
biner- mengatur metode biner untuk mengirim file. Dalam hal ini, file tidak dikodekan ulang selama transmisi dan dicatat tidak berubah. Ini yang paling banyak cara yang dapat diandalkan transfer berkas.
mput C:\%dir%\file_export\*.xml- salin satu atau lebih file lokal ke komputer jarak jauh dengan menentukan direktori
selamat tinggal- akhir sesi FTP dan keluar dari server FTP
Buat file ekspor.bat
Kami menulis di dalamnya:

Di mana:
C:\WINDOWS\system32\ftp.exe- Jalur ke utilitas ftp.exe
-s:c:\%dir%\ftpcomm.tx t - atur jalur ke file teks yang berisi perintah FTP, perintah akan diluncurkan secara otomatis setelah FTP dimulai.
-Saya- nonaktifkan mode interaktif saat mentransfer banyak file.
ftp.server.com- masukkan alamat server FTP kami.
Kami memeriksa pekerjaan dengan menjalankan ekspor.bat. Kami melihat bahwa file telah diunggah ke server FTP. Namun di sini timbul masalah: jika kita perlu mengunggah file satu kali dalam satu jam, bagaimana kita dapat mencegah agar file tidak dikirim lagi? Solusinya sepele:
Tambahkan ke file ekspor.bat:
cd /d C:\%dir%\file_export\
del *.xml
Di mana:
cd /d C:\%dir%\file_export\- buka direktori tempat file XML disimpan.
del *.xml- hapus semua file XML.

Menyiapkan pengiriman file ke surel

Untuk mengirim file melalui email, kami menggunakan utilitas blat (http://www.blat.net/). Unduh dan Buka paket ke direktori mana pun, dalam kasus kami adalah c:\%dir\blat/
Pemasangan blat. Panggil baris perintah. Pada baris perintah, buka folder kami:
cd c:\%dir%\blat/
Kami memulai instalasi blat (kami mendaftarkan profil blat di registri, data ditulis ke registri sistem Windows ke utas: .
blat.exe -install smtp.yandex.ru [email protected] 3 25 profil [email protected] Kata Sandi_Anda
Di mana:
smtp.yandex.ru- Nama server surat, melalui mana email akan dikirim.
Nama_kotak [email protected]- nama pengirim, yang akan ditampilkan di kolom.
3 - jumlah upaya untuk mengirim ulang surat jika koneksi ke server gagal.
25 - Nomor port server SMTP.
Profil- nama profil.
Nama_kotak [email protected]- nama pengguna yang akan digunakan saat menghubungkan ke server SMTP.
Kata sandi Anda- kata sandi yang digunakan saat menghubungkan ke server SMTP, mis. kata sandi kotak surat.

Menambahkan pengiriman email ke ekspor.bat

Dalam file ekspor.bat setelah baris
C:\WINDOWS\system32\ftp.exe -s:c:\%dir%\ftpcomm.txt -i ftp.server.com
Kami menulis:

Di mana:
-p profil– nama profil blat (Ditentukan saat instalasi)
-rangkaian karakter windows-1251(Pilih pengkodean Windows)
-ke [dilindungi email] – alamat penerima surat
-subyek "Ekspor file"- Subjek surat
-body "Ekspor otomatis"- Badan surat
-lampirkan c:\%dir%\file_export\*.xml– file atau file yang perlu dikirim
Jika Anda perlu mengirim surat ke beberapa kotak surat, tulis baris ini beberapa kali yang menunjukkan kotak surat penerima:
blat.exe -p profil -charset windows-1251 -ke [dilindungi email]-subjek "Ekspor file" -badan "Ekspor otomatis" -lampirkan c:\%dir%\file_export\*.xml
blat.exe -p profil -charset windows-1251 -ke [dilindungi email]-subjek "Ekspor file" -badan "Ekspor otomatis" -lampirkan c:\%dir%\file_export\*.xml
blat.exe -p profil -charset windows-1251 -ke [dilindungi email]-subjek "Ekspor file" -badan "Ekspor otomatis" -lampirkan c:\%dir%\file_export\*.xml

File ekspor.bat akhir

Hasilnya, kami mendapatkan file ekspor.bat di mana kita memiliki baris:
C:\WINDOWS\system32\ftp.exe -s:c:\%dir%\ftpcomm.txt -i ftp.server.com
blat.exe -p profil -charset windows-1251 -ke [dilindungi email]-subjek "Ekspor file" -badan "Ekspor otomatis" -lampirkan c:\%dir%\file_export\*.xml
cd /d C:\%dir%\file_export\
del *.xml
Pada baris pertama kita mengirim file ke server FTP, baris kedua kita mengirim file melalui email, lalu masuk ke direktori tempat file disimpan dan menghapusnya.

Mengirim file sesuai jadwal

Izinkan saya mengingatkan Anda bahwa kami perlu mengirim file setiap jam, untuk ini kami membuat tugas di Penjadwal Windows. Di mana kami menunjukkan bahwa kami perlu menjalankan ekspor.bat satu jam sekali.

Intinya

Sebagai hasilnya, kita punya sistem otomatis mengirim file setiap jam ke server FTP dan email.

Seringkali diperlukan untuk mengotomatiskan proses pengunduhan, pengunggahan, dan penghapusan file dari server FTP. Misalnya, saat bekerja dengan database 1C terdistribusi atau untuk menyimpan salinan cadangan. Namun tidak semua orang tahu bahwa prosedur ini dapat dilakukan dari baris perintah tanpa menggunakan prosedur tambahan perangkat lunak, itu adalah Alat Windows. Di bawah ini saya akan memberikan sintaks perintah untuk bekerja dengan FTP, serta contoh file bat untuk operasi ini.

perintah 1.ftp

Untuk bertukar file dengan server FTP gunakan perintah ftp, berikut sintaksnya:

FTP[-v] [-d] [-i] [-n] [-g] [-s:nama file] [-a] [-A] [-x:sendbuffer]
[-r:recvbuffer] [-b:asyncbuffers] [-w:ukuran jendela] [simpul]

-v Nonaktifkan tampilan tanggapan dari server jauh.
-N Nonaktifkan login otomatis pada koneksi awal.
-Saya Menonaktifkan permintaan interaktif saat mengirim banyak
file.
-D Aktifkan mode debug.
-G Nonaktifkan globalisasi nama file (lihat perintah GLOB).
-s: nama file Latihan berkas teks, berisi perintah FTP itu
akan dieksekusi secara otomatis ketika Anda memulai FTP.
-A Penggunaan antarmuka lokal untuk mengikat koneksi.
-A Login anonim ke layanan.
-x:kirim sockbuf Ganti ukuran buffer default SO_SNDBUF (8192).
-r: terima sockbuf Ganti ukuran buffer default SO_RCVBUF (8192).
-b: jumlah asinkron Mengganti ukuran penghitung async default (3)
-w:ukuran jendela Ganti ukuran buffer transmisi default (65535).
simpul Menentukan nama atau alamat IP dari node jarak jauh,
yang ingin Anda sambungkan.

Seperti yang Anda lihat, tidak ada operator untuk menghubungkan ke server dan bekerja dengan file. Masalahnya adalah perintah ini hanya memulai sesi ftp:

!
Transisi sementara ke shell.

menambahkan
Menambahkan ke file.

ascii
Mengatur mode transfer untuk file dalam format ascii.

lonceng
Sinyal suara saat perintah selesai

biner
Atur mode transfer file biner.

selamat tinggal
Akhiri sesi ftp dan logout.

CD <удаленный_каталог>
Mengubah direktori kerja pada komputer jarak jauh dimana:
<удаленный_каталог> — nama direktori yang akan berfungsi.

menutup
Mengakhiri sesi ftp.

men-debug
Beralih mode debug.

menghapus <удаленный_файл>
Menghapus file di komputer jarak jauh di mana:
<удаленный_файл> — nama file yang akan dihapus.

direktori [ <удаленный_каталог> ] [<локальный_файл> ]
Menampilkan isi direktori komputer jarak jauh, dimana:
<удаленный_каталог>
<локальный_файл>

memutuskan
Mengakhiri sesi ftp.

mendapatkan <удаленный_файл> [<локальный_файл> ]
Mendapatkan file di mana:
<удаленный_файл>
<локальный_файл> — nama file di komputer lokal .

gumpal
Mengganti ekstensi metakarakter dari nama file lokal.

hash
Mengalihkan output "#" untuk setiap blok data yang ditransfer.

membantu [ <команда> ]
Menampilkan informasi bantuan untuk perintah ftp, di mana:
<команда> — Perintah yang deskripsinya akan ditampilkan, jika tidak ditentukan, semua perintah akan ditampilkan.

layar [ <локальный_каталог> ]
Mengubah direktori lokal komputer yang berfungsi, di mana:
<локальный_каталог> — Nama direktori lokal baru; jika tidak ditentukan, nama direktori saat ini akan digunakan.

harfiah <команда_1> … <команда_n>

<команда_n> — perintah untuk dikirim;

aku [<direktori_jarak jauh>] [<file_lokal>]
Menampilkan isi singkat dari direktori komputer jarak jauh, dimana:
<удаленный_каталог> — direktori yang isinya akan ditampilkan; jika tidak ditentukan, direktori saat ini yang digunakan;
<локальный_файл> — menentukan file lokal untuk disimpan ke daftar; jika tidak ditentukan, daftar akan ditampilkan di layar.

mhapus<jarak jauh_file_1> … <remote_file_n>
Menghapus banyak file di komputer jarak jauh di mana:
<удаленный_файл_n> — nama file yang akan dihapus.

mdir<direktori_jarak jauh_1> … <direktori_jarak_n> <file_lokal>
Cetak isi beberapa direktori pada komputer jarak jauh, dimana:
<удаленный_каталог_n> — direktori yang isinya akan ditampilkan;
<локальный_файл> — menentukan file lokal untuk disimpan ke daftar; jika tidak ditentukan, daftar akan ditampilkan di layar.

mget <удаленный_файл_1> <удаленный_файл_n>
Menerima banyak file di mana:
<удаленный_файл_n> — file jarak jauh untuk disalin.

mkdir <удаленный_каталог>
Buat direktori di komputer jarak jauh di mana:
<удаленный_каталог> — nama direktori jarak jauh yang akan dibuat.

ml<direktori_jauh_1> ... <direktori_jarak_n> <file_lokal>
Cetak isi singkat dari beberapa direktori pada komputer jarak jauh, di mana:
<удаленный_каталог_n> — direktori yang isinya akan ditampilkan; jika tidak ditentukan, direktori saat ini yang digunakan;
<локальный_файл> — menentukan file lokal untuk disimpan ke daftar.

mputasi <локальный_файл_1> … <локальный_файл_n>
Mengirim banyak file ke mana:
<локальный_файл_n> — nama file lokal yang akan disalin.

mengingatkan
Alihkan keterangan alat interaktif untuk perintah gabungan.

meletakkan <локальный_файл> [<удаленный_файл> ]
Mengirim satu file, dimana:
<file_lokal>
<удаленный_файл>

pwd
Menampilkan direktori kerja komputer jarak jauh.

berhenti
Akhiri sesi ftp dan keluar ke baris perintah.

mengutip <команда>
Kirim perintah ftp sewenang-wenang, di mana:
<команда> — perintah untuk mengirim.

penerimaan <удаленный_файл> [<локальный_файл> ]
Mengambil file menggunakan pengaturan jenis file saat ini, di mana:
<удаленный_файл> — file jarak jauh untuk disalin;
<file_lokal> — nama file di komputer lokal .

bantuan jarak jauh [ <команда> ]
Memperoleh informasi bantuan mengenai perintah-perintah pada sistem jarak jauh, dimana :
<tim> — perintah sistem jarak jauh; jika tidak ditentukan, daftar semua perintah akan ditampilkan.

ganti nama <имя_файла> <новое_имя_файла>
Mengganti nama berkas jarak jauh, Di mana:
<nama file> — nama file yang akan diganti namanya;
<nama_file_baru> — nama file baru.

rmdir <имя_каталога>
Menghapus direktori di komputer jarak jauh di mana:
<nama_direktori> — nama direktori yang akan dihapus.

mengirim <локальный_файл> [<удаленный_файл> ]
Salin satu file menggunakan pengaturan jenis file saat ini, di mana:
<file_lokal> — nama file lokal yang akan disalin;
<удаленный_файл> — nama file di komputer jarak jauh.

status
Menampilkan status koneksi ftp saat ini.

jejak
Alihkan pelacakan paket.

jenis [ <имя_типа> ]
Mengatur jenis transfer file, dimana:
<ketik nama> — jenis transfer file; jika tidak ditentukan, jenis transfer file saat ini akan ditampilkan.

pengguna <имя_пользователя> [<пароль> ] [<учетная_запись> ]
Mengirim informasi untuk dihubungkan komputer remot, Di mana:
<Nama belakang> — nama pengguna untuk menghubungkan ke komputer jarak jauh;
<kata sandi> — kata sandi untuk nama pengguna yang ditentukan, jika tidak ditentukan tetapi diperlukan untuk koneksi, perintah ftp akan menanyakannya kepada pengguna;
<Akun> Akun untuk terhubung ke komputer jarak jauh, jika tidak ditentukan tetapi diperlukan untuk koneksi, perintah ftp akan meminta pengguna untuk melakukannya;

bertele-tele
Mengganti mode keluaran pesan.


Mari kita lihat contoh kecilnya.

Pertama, mari kita tulis “body file” yang akan diunggah ke server situs web mengajukan file_data.dat dari " C:\contoh". Algoritma untuk file bat adalah sebagai berikut:

  • Buat file transport.txt dengan urutan pernyataan ftp;
  • Kami menjalankan perintah ftp, menentukan file yang dibuat sebagai parameter;
  • Hapus transport.txt.

Dalam contoh ini, nama file dan direktori di-hardcode ke dalam file. Hal ini tidak selalu nyaman. Mari kita modifikasi file bat sehingga menerima data yang akan dimuat sebagai parameter, dan kita juga akan memasukkan semua nilai yang dapat diubah ke dalam variabel file. Kami mendapatkan kode berikut ():

Oleh karena itu, untuk menyalin file file_data.dat dari " C:\contoh" ke server FTP di " Suhu\Cadangan", Anda perlu menjalankan file batch ini, menentukan nama file, direktori lokal dan jarak jauh sebagai parameter.

Dengan cara yang sama, Anda dapat menulis file bat untuk dan pada server FTP, serta file yang dapat dieksekusi dengan serangkaian instruksi yang berubah-ubah.

Apakah artikel ini membantumu?

Publikasi tentang topik tersebut