Come creare un file batch che elimina i file con le parole alla fine del nome del file (usando un elenco di parole)?


0

Ho una directory con migliaia di htmlfile sparsi in diverse sottodirectory. Devo eliminare tutti i file corrispondenti a uno dei numerosi criteri. Tutti i criteri sono simili per tipo. I nomi dei file sono come:

MM-DD_hh-mm-ss__www.host.com.html

Pertanto, tutti i file che terminano con determinati nomi host devono essere eliminati. Ci sono circa 20 nomi host per ora. (Ma quel numero aumenterà a circa 100.) Memorizzo un elenco in txtfile e preferisco farlo.

__first.site.com.html
__www.secondsite.com_.html
__site.com_numberthree.html

Il fatto è che alcuni file "buoni" contengono nomi host "cattivi" ma non alla fine del nome del file.

__www.onesite.com_.html (bad)
__www.onesite.com_prices.html (good)

Posso creare un file bach per scansionare in modo sicuro tutte le sottodirectory e rimuovere i file non necessari usando l'elenco? Il sistema operativo è Windows 7. Voglio impostare l'Utilità di pianificazione per eseguire tale operazione ogni notte. Ma non ho familiarità con i comandi. Per favore aiuto.

PS In effetti, alcuni file "cattivi" hanno cartelle collegate _files. Mi aspetto che verranno eliminati automaticamente come succede quando cancello manualmente il htmlfile principale .


1
Non siamo qui per fare il tuo lavoro per te. Prova a risolverlo da solo e quando rimani bloccato su un problema specifico , chiedilo. Posso tuttavia dire che il batch non è lo strumento corretto per il lavoro. Esistono diversi linguaggi di scripting migliori per Windows che puoi utilizzare. Ad esempio powershell, perl, python o persino javascript.
Nifle,

@Nifle chiedo scusa per la scomparsa. "Prova a risolverlo da solo e quando rimani bloccato su un problema specifico, chiedilo." Sì, ho capito. Proverò PowerShell. Grazie.
Mirosav Kostyakov,

Risposte:


0

Solo una sveltina per iniziare:

@echo off

for /F %%p in (list.txt) do (
    echo Current pattern: %%p
    for /R "C:\" %%f in (*%%p*) do (
        echo File: %%f
    )
)

exit /B 0

Questo dos non funziona per file validi con nomi host errati.
Endoro,

@Endoro: perché no?
Vlastimil Ovčáčík,

questo "eliminerà"__www.onesite.com_prices.html
Endoro il

Ah, ho frainteso la spiegazione "cattiva" e "buona" (scarsa) nella domanda.
Vlastimil Ovčáčík,

@Vlastimil, grazie per il tuo tempo. Mi dispiace per la scarsa spiegazione.
Mirosav Kostyakov,
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.