Bagaimana saya bisa menemukan dan menghapus semua file video dari semua drive menggunakan file batch

-1

Saya ingin mencari dan menghapus * .mp4 * .mpeg, * .mkv, * .flv, * .avi (semua file video) dari semua drive (C, D, E, F) atau di mana saja di komputer saya di direktori atau subdirektori, menggunakan File BATCH. Sistem operasi saya adalah windows XP.

Vinayak Shinde
sumber
Hmm, saya mengumpulkan file batch dan itu bekerja pada satu titik, tetapi ketika saya membersihkannya sedikit, itu berhenti berfungsi. Saya membuka kancing perubahan yang saya buat setelah berfungsi dan mengembalikannya ke titik di mana ia sebelumnya bekerja, tetapi masih tidak berhasil. ಠ_ ఠ Komputer bodoh dengan perilaku intermiten dan tidak pasti mereka. ¬_¬ Saya akan mencoba memperbaikinya ...
Synetech

Jawaban:

1

for %%drive in (C D E F) do (
    for /R %drive:\ %%f in (*.mp4 *.mpeg *.mkv *.flv *.avi) do (
        @echo del "%f"
    )
)

( Dokumentasi )

Saya tidak punya alat untuk menguji ini sekarang. Jalankan saja dan lihat, jika itu melakukan semuanya dengan benar. Setelah itu hapus @echodan jalankan lagi.

David Foerster
sumber
Hai David, Terima kasih atas balasan Anda, saya mencoba menggunakan perintah ini menggunakan file batch tetapi tidak ada yang terjadi. File batch dijalankan tetapi tidak menunjukkan hasil apa pun. Saya memiliki MS Windows XP Prof.2002 SP3 OS.
Vinayak Shinde
Bisakah Anda mereproduksi pesan kesalahan? Saya menulis skrip batch non-sepele saya tahun lalu dan kemungkinan besar termasuk semacam sintaks yang tidak valid.
David Foerster
Hai David, Setelah menjalankan file batch, itu tidak menunjukkan kesalahan apa pun. Hanya buka dan tutup di sepersekian detik. Jadi saya juga tidak bisa mengerti kesalahannya.
Vinayak Shinde
Anda perlu membuka jendela command prompt ( Windows + R , masuk cmd.exedan tekan Return atau klik OK) dan jalankan file batch atau urutan perintah dari sana. Ini akan tetap terbuka setelahnya.
David Foerster
"% drive tidak terduga saat ini" ini adalah kesalahan dan setelah ini perintah dijalankan tanpa kesalahan, tetapi tidak ada file yang dihapus.
Vinayak Shinde
1

Pertama-tama, itu bisa sangat berbahaya untuk menghapus file secara membabi buta dengan file batch karena itu akan menghapus apa saja. Dan sementara ini tampaknya menjadi tujuan Anda, Anda harus sadar bahwa itu juga akan menghancurkan file yang merupakan bagian dari sistem operasi (Windows hadir dengan beberapa video di sana-sini), serta semua program dan permainan yang memiliki file video. Jika tujuan Anda adalah membebaskan ruang, maka ada cara yang lebih baik untuk melakukan itu (selain itu, tidak semua video berukuran besar).

Bagaimanapun, setelah versi awal saya secara ajaib berhenti bekerja tanpa alasan yang jelas (ya, saya mencoba menjelaskan semuanya), saya akhirnya menggunakan work-around . Satu-satunya kelemahan untuk menggunakan pushdadalah bahwa jika Anda membatalkan file batch, Anda akan berakhir di drive apa pun itu ketika Anda menekan Ctrl+ Break.

Alih-alih hanya membabi buta menghapus semuanya, saya membuatnya sehingga ia membangun file batch sekunder ( delmovie.bat) yang dapat Anda pindai untuk memastikan tidak ada apa pun yang ingin Anda simpan. Kemudian Anda bisa menjalankan file batch yang dihasilkan untuk menghapusnya. Dibutuhkan beberapa detik ekstra tetapi jauh lebih aman.

@echo off
echo @echo off > delmovie.bat
for %%i in (C:\Users C:\Videos D:\ E:\ F:\) do (
  pushd %%i
  for /r %%j in (*.mp4 *.mpeg *.mkv *.flv *.avi) do (
    echo del "%%j" >> %~dp0delmovie.bat
  )
  popd
)

Versi ini tidak termasuk direktori sistem dengan daftar putih, bukan daftar hitam, jadi alih-alih mengecualikan direktori yang ingin Anda abaikan, ini menambahkan direktori yang ingin Anda pindai (melakukan sebaliknya akan sedikit lebih rumit dan saya bisa sediakan skrip untuk melakukannya jika perlu). Saya menambahkan c:\videossebagai contoh bagaimana Anda dapat menambahkan direktori Anda sendiri jika diperlukan (tidak ada ruginya meninggalkan c:'videosdi sana jika Anda tidak memiliki direktori seperti itu).

Synetech
sumber
Terima kasih banyak. Ini akan bekerja untuk saya. Apa pun caranya, untuk tidak menghapus file video yang terkait dengan file sistem dengan mengubah apa pun dalam kode ini. Seperti make read only untuk folder C: \ Program & C: \ Windows. Seperti ini.
Vinayak Shinde