WinSCP - Bagaimana Cara Zip, Mengunduh dan Menghapus file?

4

Bagaimana mungkin Zip, Unduh dan Hapus (ZDD) file dalam WinSCP?

Misalnya, direktori lokal Anda adalah Desktop dan remote Anda untuk (yang ada di mesin server Anda) adalah, katakanlah, /var/www/html dan Anda ingin zip dan mengunduh dir atau file tertentu, dan kemudian Anda ingin menghapusnya saat unduhan selesai.


enter image description here


Untuk lebih jelasnya, di linux bisa saya lakukan, misalnya:

(
zip -r /var/www/html/dr.zip /var/www/html
scp /var/www/html/dr.zip USER@IP:/location
rm /var/www/html/dr.zip
)

Saya memerlukan hal serupa untuk WinSCP namun saya sadar bahwa Mekanisme pengunduhan WinSCP harus digunakan dan berbeda dari Nix scp utilitas.

Pertanyaan saya:

Apakah Anda tahu cara untuk mencapai ini dengan WinSCP?

JohnDoea
sumber
Tidak ada solusi sihir generik untuk ini. Pertama, kita perlu tahu protokol apa yang Anda gunakan di WinSCP.
Martin Prikryl
Hai Martin! Merupakan suatu kehormatan untuk memiliki Anda mengomentari ini! Saya menggunakan SFTP (di port asli). Saya tahu seseorang dapat menyesuaikan perintah di WinSCP tetapi tidak jelas bagi saya bagaimana seseorang dapat menyesuaikan perintah multi-baris yang saya tampilkan di atas dalam pertanyaan. Selain itu, tidak jelas bagi saya apakah perintah di sana harus ditulis dalam Bash atau Powershell (?) Atau jika keduanya berlaku. Saya dengan rendah hati berharap jawaban akan poin ini juga.
JohnDoea

Jawaban:

4

Tidak ada cara untuk file ZIP melalui protokol transfer file (SFTP, FTP, SCP atau WebDAV). Itu sebabnya tidak ada fungsi seperti itu di WinSCP, karena tidak dapat diimplementasikan dengan andal.


Padahal, jika Anda memiliki akses shell ke server, Anda dapat menggunakan perintah shell untuk ZIP file. Itu sebenarnya, apa adanya Tar / GZip perintah khusus tidak.

Jika Anda menginginkannya dalam sekali jalan (zip-and-download), Anda harus menerapkan yang lebih perintah / ekstensi khusus yang rumit, yang membuka sesi sendiri untuk unduhan . Ini akan sangat mirip dengan Kemas file ke arsip ZIP dan unggah contoh. Kecuali, itu akan digunakan Session.ExecuteCommand untuk mengeksekusi zip (atau serupa) pada server jarak jauh.

Anda dapat menulis ekstensi dalam bahasa apa pun yang Anda suka. PowerShell adalah bahasa skrip Windows yang paling mudah tersedia dengan dukungan .NET yang bagus (asli). Meskipun dapat dilakukan di Bash juga, Anda harus menggunakan skrip Bash lokal (Anda tidak dapat mengunduh file menggunakan skrip Bash jarak jauh). Dan tidak ada Bash di Windows secara default.

Martin Prikryl
sumber
Saya kira jika zip bermasalah saya bisa menggunakan tar.gz dan kemudian mengekstraknya dengan mudah di Win10 dengan Winrar atau Winzip. Juga, Jika saya mengerti corret, jika saya tidak ingin memuat file skrip dan ingin menempelkan perintah ke WinSCP, saya bisa menyalin satu perintah baris seperti berikut ini dan menjadikannya perintah khusus: zip -r /var/www/html/dr.zip /var/www/html && scp /var/www/html/dr.zip USER@IP:/location && rm /var/www/html/dr.zip.
JohnDoea
Tentu saya mungkin hanya mengganti zip ke tar.
JohnDoea
1
Saya tidak yakin Anda mengerti. zip tidak lebih atau kurang bermasalah dari gzip / tar. Akses shell adalah batasannya. - Dan lagi, Anda tidak dapat menggunakan skrip / perintah Bash jauh untuk menarik file dari server ke Windows, jadi Anda tidak dapat menggunakan scp dalam perintah khusus, seperti yang dieksekusi di server (tentu saja, kecuali jika Anda menjalankan server SSH pada mesin Windows lokal).
Martin Prikryl
Oh, maaf saya bingung di sana. Maksud saya bukan scp akan ada sesuatu yang lain (menggunakan WinSCP hal yang sama) untuk menarik file ke Windows)
JohnDoea
1
Sekali lagi, tidak ada cara untuk menarik file menggunakan apa pun Anda dapat mengeksekusi di server. Anda harus menggunakan skrip lokal yang membuka koneksi sendiri untuk unduhan. Lihat tautan dalam jawaban saya.
Martin Prikryl