FTP cara menghapus folder kosong (hanya)

2

Saya perlu menghapus (secara otomatis, secara rekursif) banyak direktori kosong di server (ada juga direktori yang tidak kosong). Saya hanya memiliki akses FTP (tidak ada SSH dll.).

Ada beberapa klien, yang dapat melakukan ini? Lebih disukai untuk Windows, tetapi Linux mungkin juga.

Lluser
sumber

Jawaban:

1

Anda dapat menggunakan FileZila (Anda dapat mengunduhnya dari https://filezilla-project.org/ )

Masuk menggunakan kredensial dan url FTP Anda. Anda harus memiliki struktur folder di UI FileZila.

Atau Dari Baris Perintah: - Di mana yourdomain.com adalah domain Anda atau Alamat IP Server FTP yang ditemukan di Panel Kontrol HELM di bawah Rincian Akun FTP.

c:\>ftp yourdomain.com

Setelah Anda menekan Enter, ia akan mencoba untuk terhubung ke server. Jika berhasil, Anda akan diminta Nama Pengguna dan Kata Sandi . Masukkan nama pengguna FTP dan informasi kata sandi untuk login.

mdelete folder_name/*
rmdir folder_name

Ini harus melakukan pekerjaan

Jika Anda dapat masuk ke server coba di bawah ini

Coba ini untuk Windows: - Anda dapat menggunakan utilitas ini: Hapus Direktori Kosong

Atau Anda dapat menggunakan file batch satu-liner ini:

for /f "delims=" %%d in ('dir /s /b /ad ^| sort /r') do rd "%%d"

One-liner diambil dari DownloadSquad , situs luar biasa untuk ditambahkan ke umpan RSS Anda. :)

Coba perintah ini untuk Linux:

find . -empty -type d -delete

Perintah find digunakan untuk mencari file / direktori yang cocok dengan kriteria pencarian tertentu dari jalur yang ditentukan, dalam hal ini direktori saat ini (karenanya.).

Opsi -empty berlaku untuk semua file dan direktori yang kosong.

Opsi -type d berlaku untuk jenis file yang ditentukan; dalam hal ini d berarti direktori jenis file.

Opsi -delete adalah tindakan yang harus dilakukan, dan berlaku untuk semua file yang ditemukan dalam pencarian.

Saya mendapatkannya bekerja dalam dua langkah, pada server dengan akses terbatas, tidak ada SFTP, hanya FTP melalui commandline.

Seperti ini :

mdelete folder_name/*
rmdir folder_name
Harbinder Singh
sumber
1
Terima kasih atas jawabannya. Tapi sepertinya ada sedikit kesalahpahaman di sini. mdelete folder_name/*hapus semua file dalam folder, tetapi saya ingin menyimpan folder yang tidak kosong. Hanya hapus yang kosong. rmdirsepertinya cara yang baik, karena melempar kesalahan ketika mendapat folder kosong sebagai parameter. Tapi rmdir *jangan bekerja untuk saya (itu karena tidak menerima *, atau sesuatu yang lain?)
Lluser
PS: Saya mencoba Filezilla, WinSCP, Total Commander sebelumnya dan tidak menemukan cara sederhana (otomatis) untuk menghapus folder kosong saja.
Lluser
Coba tautan untuk melihat apakah ini membantu: - ibm.com/developerworks/community/blogs/AIXDownUnder/entry/…
Harbinder Singh