2012-10-05 6 views
75

Come eliminare file o cartelle in modo ricorsivo su Windows dalla riga di comando. Ho trovato questa soluzione dove il percorso che guidiamo sulla riga di comando ed eseguo questo comando. ho dato esempio con la cartella di file con estensione svnElimina file o cartella in modo ricorsivo su windows cmd

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

+0

Funziona correttamente, la domanda contiene l'unica soluzione funzionante :) –

+0

:) Probabilmente dopo la modifica della domanda. :) –

risposta

22

È possibile utilizzare questo nello script bat:

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

Ora, basta cambiare c:\folder alla posizione del cartella.

+0

Questo comando non funziona ed errore di lancio come sotto * D: \> rd/s/q "D: \ Root a" Il sistema non riesce a trovare il file specificato. * – abhayk

+1

A meno che la directory non abbia realmente un ' spazio '' a' nel nome, quindi lascia fuori quella parte. –

12
RMDIR path_to_folder /S 

ex. RMDIR "C:\tmp" /S

Nota che verrà richiesto se si intende eliminare la cartella "C: \ tmp". La combinazione con switch/Q sarà rimuovere la cartella in silenzio (ex RMDIR "C:\tmp" /S /Q.)

79

Si prega di eseguire i seguenti passaggi:

  1. Aprire il prompt dei comandi
  2. Cambiare la directory percorso richiesto
  3. Dare seguito comando

    del /S *.svn

+2

Non funziona per me, elimina solo i file nella directory corrente. – delphirules

+3

Grazie, ho lavorato per me dopo aver aggiunto/F flag – vjkumar

54

Le altre risposte non ha funzionato per me, ma questo fatto:

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

/q disabilita Sì/No spingendo

/s mezzi cancellare il file (s) da tutto sottodirectory.

+0

Penso che le mie esigenze siano le stesse di quello che stai cercando di fare - Sto provando a eliminare tutte le cartelle .svn in una directory di progetto e in tutte le sottodirectory. Su Windows 2012, questa risposta non funziona per me. Sta eliminando la cartella .svn nella directory corrente, ma non da nessuna delle directory secondarie. – Jim

8

Per l'eliminazione dei file, ho scritto seguente semplice file batch che cancellato tutti di .pdf in modo ricorsivo:

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

Anche per la directory locale siamo in grado di usarlo come:

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

Lo stesso può essere applicato per la cancellazione delle directory in cui abbiamo solo bisogno di cambiare del con rmdir.

3

Se si desidera eliminare un'estensione specifica in modo ricorsivo, utilizzare questo:

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

Si potrebbe anche fare:

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

Il /p richiede di eseguire per ogni file trovato, se siete nervoso sull'eliminazione di qualcosa che non dovresti.

0

Per eliminare una cartella con un nome con contenuto dalla posizione corrente:

ls -Recurse <dirname> | del -Force -Recurse -WhatIf 

o più corto:

ls -r <dirname> | del -Force -r -what 

e ometti il ​​finale -Che si esegue l'eliminazione effettiva.