Bagaimana menemukan folder dengan file tertentu dan menghapus folder?

3

Saya mencari cara untuk menemukan dan menghapus setiap folder yang berisi file dengan ekstensi .drt di dalamnya.

Ini networkshare dan struktur ditunjukkan di bawah ini, dalam hal ini saya ingin menghapus subfolder 1 dan 3

\\networkshare
  \\profiles
    \\001
    \\002
    \\003
      \\folder1
        \\subfolder1
          \\*.drt
      \\folder2
        \\subfolder2
      \\folder3
        \\subfolder3
          \\*.drt
pengguna3032387
sumber

Jawaban:

3

Pada dasarnya, Anda pertama-tama mencari file yang cocok, mengekstrak path mereka dan kemudian menghapus path. Ini akan bekerja:

for /f "delims=" %%F in ('dir /b /s *.drt') do @if exist %%F rd /s /q %%~dpF

Perintah pencarian hanya dir, daftar diproses dalam satu FORlingkaran, dan ekstraksi jalur dilakukan melalui %%~dp, yaitu hanya drive dan jalur diekstraksi dari setiap file yang ditemukan.
Perhatikan bahwa menghapus folder hanya dilakukan setelah pengujian untuk menghindari pesan kesalahan yang berlebihan.

pengguna1016274
sumber
akan melaporkan "path not found" - Tambahkan 2> nuluntuk membuang kesalahan ...
DavidPostill
Kode ditambahkan untuk menghindari pesan-pesan ini tetapi untuk menjaga yang asli, misalnya izin ditolak. +1 untuk mematikan bagian perintah dengan @.
user1016274