Wie filtere ich .svn-base-Dateien aus der Ausgabe des DIR-Befehls heraus?

Wie filtere ich .svn-base-Dateien aus der Ausgabe des DIR-Befehls heraus?

Ich habe mich gefragt, wie ich Folgendes tun könnte (unter Windows):

Ich muss die Gesamtzahl der Zeichen im vollständigen Pfad zu allem im Verzeichnis c:\ und allen Unterverzeichnissen prüfen. Hier ist der Befehl, den ich verwendet habe:

dir /b /s c:\directory\ > output.csv

/B Verwendet das einfache Format (keine Überschrifteninformationen oder Zusammenfassung).

/S Zeigt Dateien im angegebenen Verzeichnis und allen Unterverzeichnissen an.

Das Problem besteht darin, dass c:\directory ein SVN-Checkout ist und eine Menge .svn-base-Dateien enthält, die ich nicht in der Datei output.csv sehen möchte. Wie filtere ich die Ausgabe von DIR, damit ich keine dieser .svn- oder .svn-base-Dateien in output.csv sehe, an die ich die Ausgabe weiterleite?

Ich habe versucht, mit Excel die erste Spalte in output.csv zu durchsuchen und alle Zeilen auszuwählen, die „svn“ enthalten. Diese CSV-Datei enthält jedoch weit über 30.000 Zeilen, und wenn ich es auf diese Weise mache, könnte es eine Weile dauern, alles herauszufiltern.

Gibt es etwas Ähnliches wie grep für Windows, das ich hierfür verwenden kann? Ich habe grep GNUWin32 heruntergeladen, aber wenn ich versuche, es zu verwenden, erhalte ich eine Fehlermeldung über eine fehlende Bibliotheksdatei.

Ich habe auch versucht, den Schalter /AH in DIR zu verwenden, und aus irgendeinem Grund erhalte ich immer noch die .svn-Ordner in jedem Unterverzeichnis :( Es könnte sehr gut sein, dass ich den Schalter nicht verwende, um versteckte Dateien nicht richtig anzuzeigen.

Antwort1

In einer Befehlseingabeaufforderung sollte dies funktionieren:

dir /b /s c:\directory\ | Findstr /V /I .svn > output.csv

Wenn Sie Windows 7/8 verwenden oder Powershell installiert haben, empfehle ich Ihnen, sich damit vertraut zu machen. In Powershell würden Sie Folgendes tun:

Get-ChildItem . -exclude *.svn -recurse | Select-Object Name | Export-CSV .\output.csv -NoTypeInformation

Antwort2

Alternative Lösung (auf Kosten der Größe)

Vor Dir svn exportWC in Export-Dir und auf diese Weise .svn Dir(s) eliminieren

verwandte Informationen