2013-03-22 15 views
5

Ich möchte, dass dieses Skript alle Ordner auflistet, die "gelöscht" im Ordnernamen enthalten, aber nicht, wenn sie sich in einem Ordner namens "done" befinden.Stapelskript zum Auflisten von Ordnern aber zum Ausschließen bestimmter Ordner

Für exampel: Liste der Ordner, wenn es in C:\temp ist, und wenn es in C:\temp\random_folder_name ist aber nicht nicht, ob es in C:\temp\done

dir /s "C:\temp" | findstr "\deleted" 

Kurzgeschichte, schließen alle Ordner „done“ genannt und dessen Inhalt.

Antwort

7

fast da Sie sind ‚gemacht‘ hat .

Findstr/v gibt alle Zeilen, die die Zeichenfolge enthalten keine

dir/Anzeige nur Verzeichnisse anzeigen (Atrribut = Verzeichnis)

dir /s /ad "C:\temp" | findstr "\deleted" | findstr /v "\done" 
+0

Ah - aber das würde Verzeichnisse und Dateien mit dem Namen 'done *' ausschließen, nicht nur '' done'' – Magoo

+0

Die/ad eliminiert Dateinamen - mein Fehler. Nichtsdestoweniger, ohne ein '\' nach '\ done' wird dies auch \' doneeverything' entsprechen. OTOH, mit '\ done \' wird nur 'done' Verzeichnisse wie' c: \ was \ all \ done \ here' ausgenommen, ABER werden Verzeichnisse nicht eliminieren, die '\ done' wie 'c: \ wores \ not \ all enden fertig. Dazu müssten Sie ein zusätzliches '| findstr/i/e/v" \ done "hinzufügen. – Magoo

+0

zum Ausschließen von Ordnernamen (nur Dateinamen verwenden) dir/a-d. (siehe dir /?) – Stephan

1
dir /s "C:\temp" | findstr "\deleted"|findstr /i /v "\temp\done\" 

sollte passen die Rechnung

  • oder entfernen Sie den \temp Teil, wenn Sie einen beliebigen Namen auslassen möchten, die als Verzeichnis auf dem Weg
+0

ja -/i ist definitiv eine gute Idee! – Stephan

+1

es macht den Job perfekt, wenn der Ordner "done" in diesem bestimmten Pfad ist. Ich möchte, dass es jeden Ordner ausschließt, der als "erledigt" bezeichnet wird, egal wo, in diesem Fall C: \ Temp. Sorry, wenn ich in diesem Punkt nicht klar war. – Tomas

0

in vielen Fällen:

dir /b /s /aa <path> 

Wird den Trick machen./b für weniger ausführliche Ausgaben,/s für rekursive (Unterverzeichnisse) und/aa für nur Dateien, die archiviert werden können. Dies ist normalerweise der Fall für normal erstellte Dateien - es ist standardmäßig aktiviert!

Verwandte Themen