Windows CMD'de dosya veya klasörü yinelemeli olarak silin


135

Windows'ta dosya veya klasörleri komut satırından yinelemeli olarak nasıl silerim?

Komut satırında yol aldığımız ve bu komutu çalıştırdığımız bu çözümü buldum.

.Svn dosya uzantısı klasörüne sahip bir örnek verdim:

for /r %R in (.svn) do if exist %R (rd /s /q "%R")

"Nereye gidiyoruz" derken neyi kastediyorsunuz ?
Peter Mortensen

Yanıtlar:


129

Lütfen aşağıdaki adımları uygulayın:

  1. Komut istemini açın
  2. Dizini gerekli yolla değiştirin
  3. Aşağıdaki komutu verin

    del /S *.svn
    

4
Benim için çalışmıyor, sadece mevcut dizindeki dosyaları siliyor.
delphirules

119

Diğer cevaplar benim için işe yaramadı ama bu işe yaradı:

del /s /q *.svn
rmdir /s /q *.svn

/ q Evet'i devre dışı bırakır / Sorma yok

/ s , tüm alt dizinlerden dosya (lar) ı sil anlamına gelir.


Sanırım ihtiyaçlarım sizin yapmaya çalıştığınız şeyle aynı - bir proje dizinindeki ve tüm alt dizinlerdeki tüm .svn klasörlerini silmeye çalışıyorum. Windows 2012'de bu cevap benim için çalışmıyor. Geçerli dizindeki .svn klasörünü siliyor, ancak hiçbir alt dizinden değil.
Jim

42

Bunu batkomut dosyasında kullanabilirsiniz :

rd /s /q "c:\folder a"

Şimdi, c:\folder aklasörünüzün konumuna geçin. Teklif yalnızca klasör adınız boşluklar içerdiğinde gereklidir.


Bu komut çalışmıyor ve aşağıdaki gibi hata veriyor: D: \> rd / s / q "D: \ Root a" Sistem belirtilen dosyayı bulamıyor.
abhayk

5
Dizininizde gerçekten bir space aad yoksa, o bölümü atlayın.
Jesse Chisholm

22
RMDIR path_to_folder /S

ex. RMDIR "C:\tmp" /S

"C: \ tmp" klasörünü gerçekten silecekseniz sorulacağını unutmayın. / Q anahtarıyla birleştirmek, klasörü sessizce kaldırır (örn. RMDIR "C:\tmp" /S /Q)


8

Dosya silme için, tüm .pdf'leri özyinelemeli olarak silen aşağıdaki basit toplu iş dosyasını yazdım:

del /s /q "\\ad1pfrtg001\AppDev\ResultLogs\*.pdf"
del /s /q "\\ad1pfrtg001\Project\AppData\*.pdf"

Yerel dizin için bile şu şekilde kullanabiliriz:

del /s /q "C:\Project\*.pdf"

Aynı biz sadece değiştirmeniz gerekir dizin silinmesi için uygulanabilir del ile rmdir .


4

Belirli bir uzantıyı yinelemeli olarak silmek istiyorsanız, şunu kullanın:

For /R "C:\Users\Desktop\saleh" %G IN (*.ppt) do del "%G"

3

Şunları da yapabilirsiniz:

del /s /p *.{your extension here}

/pEğer Yapmaman gereken bir şey silme hakkında sinir iseniz, her bulunan dosya için ister.


2

Windows rmdir komutunu kullanın

Yani rmdir / S / Q C: \ Temp

Aşağıdakileri de birkaç yıldır kusursuz kullanıyorum.

Diğer seçeneklere göz atın: forfiles /?

Windows klasöründeki SQM / Telemetriyi yinelemeli olarak silin

forfiles /p %SYSTEMROOT%\system32\LogFiles /s /m *.* /d -1 /c "cmd /c del @file"

Windows TMP dosyalarını yinelemeli olarak silin

forfiles /p %SYSTEMROOT%\Temp /s /m *.* /d -1 /c "cmd /c del @file"

Kullanıcı TEMP dosyalarını ve klasörlerini yinelemeli olarak silin

forfiles /p %TMP% /s /m *.* /d -1 /c "cmd /c del @file"


2

Bir klasörü yerel komutlarla tamamen silmek ve yapılanlar hakkında bir günlük almak için.

işte bunu yapmanın alışılmadık bir yolu:

d: \ temp dizinini temizlemek istediğimizi varsayalım

mkdir d:\empty
robocopy /mir d:\empty d:\temp
rmdir d:\empty

Bu, sorunumu çözen çok akıllıca bir çözüm. Kendine referans veren Kavşağı düşünmeden, AppData dizinimi kopyalamak için robocopy kullandım. Tüm gizli dosyaları yinelemeli olarak kaldırabilmemin tek yolu buydu. / Xj'yi asla unutma!
Chris Larabell

0

Gizli dosyalar için aşağıdakileri kullanmam gerekiyordu:

DEL /S /Q /A:H Thumbs.db

Demode. Windows XP, microsoft co tarafından desteklenmemektedir.
Mesalcode

Bunu bir yedekleme geri yüklemesinden kalan .dcm dosyalarını silmek için kullanmak zorunda kaldım (Windows 10)
Gerald Murphy

0
dir /b %temp% >temp.list
for /f "delims=" %%a in (temp.list) do call rundll32.exe advpack.dll,DelNodeRunDLL32 "%temp%\%%a"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.