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

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.


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.