Ho bisogno di scrivere un comando in un file .bat che cancelli in modo ricorsivo tutte le cartelle che iniziano con una determinata stringa. Come posso ottenere questo?Elimina in modo ricorsivo tutte le cartelle che iniziano con
risposta
Questa è la risposta completa si desideri:
FOR /D /R %%X IN (certain_string*) DO RD /S /Q "%%X"
dove ovviamente è necessario sostituire certain_string
con la stringa con cui iniziano le cartelle.
Questo elimina RECURSIVELY come richiesto (intendo che passa attraverso tutte le cartelle e sottocartelle).
Incompiuta, penso. Se si intende "ricorsivamente scendere una gerarchia di directory per cancellare tutte le cartelle che iniziano con una certa stringa", allora la seguente potrebbe essere sufficiente:
for /f "delims=" %%x in ('dir /b /ad abc*') do rd /s /q "%%x"
Ciò ricorsivamente nella struttura di directory, trovando tutte le cartelle che iniziano con "abc" , scorrere su quell'elenco e rimuovere ogni cartella.
Forse è necessario avvolgere un if exist
attorno allo rd
in base all'ordine in cui le directory vengono trovate e restituite. In generale, l'iterazione di qualcosa e cambiando allo stesso tempo è raramente una buona idea, ma a volte funziona :-)
Rössel: ha funzionato? Non funziona quando provo ad eliminare le directory che terminano con ".delme", ho provato il tuo suggerimento in questo modo: per/f "delim =" %% x in ('dir/b/ad * .delme') do rd/s/q "%% x" MA NON SEMBRA FUNZIONARE. –
@Marco: non c'è bisogno di urlare. In caso di dubbio, fai una nuova domanda e racconta i tuoi problemi in modo chiaro e dettagliato. Qualcosa come »Non funziona« di solito è un rapporto di cattiva gestione. – Joey
Rossel: non stava urlando, ho solo scritto maiuscole. Faccio una nuova domanda allora. –
ne dite:
for /d %a in (certain_string*) do rd /s %a
Ciò funzionerà dal prompt dei comandi. All'interno di un file batch, si dovrebbe raddoppiare i %
s, come al solito:
@echo off
for /d %%a in (certain_string*) do rd /s %%a
Ouch. Ho bisogno di più sonno ... o tè ... * (colpisce la testa sul tavolo) * – Joey
Hmm, anche se probabilmente non si reciterà nella struttura ad albero e troverà cartelle più profonde che corrispondono ai criteri, giusto? (Le mie soluzioni non lo fanno altrettanto bene, ma ho appena capito che era quello che intendeva l'OP). – Joey
Ho dovuto espanderlo un po 'dal mio semplice tentativo originale, perché 'rd' non sembra espandere i caratteri jolly da solo. –
FOR /F "tokens=*" %i IN ('DIR **[[SearchTerm]]** /A:D /s /b') do rd /S/Q %i
rm-rf - "Nome directory"
Es: rm -rf - "-2.096.378"
Sopra comando elimina le cartelle/directory che iniziano con - o caratteri jolly
- 1. È necessario che CMake ricerchi le cartelle in modo ricorsivo?
- 2. Elimina tutte le righe che iniziano con # o; in Blocco note ++
- 3. Trova tutte le combinazioni in arraylist in modo ricorsivo
- 4. Elimina file o cartella in modo ricorsivo su windows cmd
- 5. Come eliminare le righe che non iniziano con 'x' in Panda o mantenere le righe che iniziano con 'x'
- 6. Comprende in modo ricorsivo tutte le sottodirectory del modello
- 7. PHP Elimina in modo ricorsivo le directory vuote con gli iteratori SPL
- 8. Cammina una directory in modo ricorsivo in Qt, salta le cartelle "." e ".."
- 9. Copia cartella in modo ricorsivo, escluso alcune cartelle
- 10. DirectoryInfo.getFiles che iniziano con
- 11. panda: modo migliore per selezionare tutte le colonne che iniziano per X
- 12. Codice per rilevare tutte le parole che iniziano con una maiuscola in una stringa
- 13. Come si eliminano tutte le righe che iniziano con "stringa" in unix sh?
- 14. DROP tutte le tabelle che iniziano con "EXT_" in Oracle SQL
- 15. Perché implementiamo le interfacce in modo ricorsivo?
- 16. Elenca tutte le cartelle nella directory
- 17. In che modo git gestisce l'autorizzazione per le cartelle?
- 18. Elimina tutte le immagini aggiunte alla tela
- 19. Elimina tutte le stored procedure contemporaneamente
- 20. Elimina tutte le righe nella tabella
- 21. Le varianti si utilizzano in modo ricorsivo?
- 22. Manipolare le variabili membro C++ che iniziano con $ in GDB
- 23. Come selezionare le righe che iniziano con digit in PostgreSQL?
- 24. Copia il contenuto delle cartelle nidificate in una cartella in modo ricorsivo (terminale)
- 25. Grunt JS come selezionare * tutte le cartelle
- 26. Elenco di tutte le cartelle e sottocartelle
- 27. Elimina tutte le righe duplicate Excel vba
- 28. Leggi le cartelle in modo ricorsivo ed esegue il comando su ognuna di esse
- 29. Come ottenere tutte le immagini nella cartella del progetto che iniziano con una stringa specifica
- 30. Regex: rimuovere le righe che non iniziano con una cifra
nient'altro che @ la risposta di Maorco ha funzionato per me. Purtroppo non ha voti diversi dai miei. :( – IsmailS
fww: è l'unico che ha funzionato anche per me grazie :) – edzillion
Thx. Ho dovuto escludere due directory, che hanno portato a questo comando: 'FOR/D/R %% X IN (* .lproj) DO IF/I" %% ~ xnX "neq" en.lproj "IF/I" %% ~ xnX "neq" english.lproj "RD/S/Q" %% ~ fX "'. Spiegazione: ['%% ~ xnX'] (http://stackoverflow.com/a/636391) corrisponde al nome completo della directory. 'IF/I .. neq" en.lproj "' filtra tutte le directory che sono uguali a '" en.lproj "' ('/ I' = case-insensitive). IF [può essere annidato] (http://stackoverflow.com/a/2143203). Alla fine, ho cancellato in modo ricorsivo tutte le directory che terminano con '.lproj', ad eccezione di' en.lproj' e 'english.lproj'. –