Come posso eliminare in batch una sottocartella specifica da più cartelle?


0

Ecco la versione "non funzionante" di ciò che sto cercando di fare:

rd d:\Video\*\Sample /s /q

Ho un sacco di sottocartelle con nomi diversi nella mia cartella "Video", e alcune hanno una sottocartella chiamata Sample in esse. Voglio eliminare le cartelle di esempio e tutto ciò che contiene.

Apprezzo molto l'aiuto. Grazie!


Guarda la risposta di Bali C qui . Non sono un esperto in lotti, ma sembra essere quello che stai cercando.
DrZoo,

RD non eliminerà le cartelle contenenti file come misura di sicurezza. hanno dei file?
Keltari,

Sì, hanno un solo file, che purtroppo ha sempre un nome diverso.
BevansDesign,

Tuttavia, hanno la parola "campione" in loro, quindi posso solo usare: del *sample* /sper sbarazzarsi di loro prima.
BevansDesign,

Perché non PowerShell?
Austin T, francese,

Risposte:


1
for /d /r "d:\Video" %a in (Sample) do if exist "%~fa\" echo rd "%~fa" /s /q 

Per ogni cartella sotto quella indicata e in basso se Sampleesiste una cartella denominata , rimuoverla

Se non avete bisogno / desidera che la ricerca ricorsiva, vogliono solo per elaborare le cartelle all'interno d:\Video, poi

for /d %a in ("d:\Video\*") do if exist "%~fa\Sample\" echo rd "%~fa\Sample" /s /q

Per ogni cartella in d:\Video, se contiene una cartella denominata, Samplerimuoverla.

note :

  • Entrambi i comandi sono codificati per essere eseguiti dalla riga di comando. Dai file batch i segni di percentuale devono essere raddoppiati

  • rdi comandi includono un echoprefisso, quindi il comando non viene eseguito, ma solo l'eco alla console. Se l'output è corretto, rimuovere ilecho

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.