Windows-CMD: Liste von Dateien in verz & subdir OHNE Erweiterungen
Ich würde gerne rekursiv suchen ein Verzeichnis, und suchen Sie Dateien, die NICHT einer bestimmten Erweiterung, oder gerade, die haben NICHT einen bestimmten Satz von Erweiterungen.
Skizze: finden Sie in "dir" alle Dateien ohne "ext1", "ext2", "ext3" und drucken Ergebnisse .txt
Ich habe versucht, um mehrere Stunden mit DIR und ATTRIB, aber leider ohne größeren Erfolg.
Ihre Betrachtung wird sehr geschätzt! Danke.
Wahrscheinlich einfacher, wenn Sie cygwin installieren und verwenden, z.B.
Installieren Sie cygwin?! Bist du verrückt, das ist ein ernst über die top-Lösung, um ein triviales problem. Wenn Sie brauchen mehr tools, die dann einige einheimische (z.B. GnuWin32) wäre mehr auf den Punkt. Dies ist ein one-liner in grep zum Beispiel. Und wie LittleBobbyTables hat darauf hingewiesen, es kann getan werden nativ vom cmd-interpreter.
Nicht nativ, aber mit den Werkzeugen, die nahezu überall verfügbar ist (
find
.Installieren Sie cygwin?! Bist du verrückt, das ist ein ernst über die top-Lösung, um ein triviales problem. Wenn Sie brauchen mehr tools, die dann einige einheimische (z.B. GnuWin32) wäre mehr auf den Punkt. Dies ist ein one-liner in grep zum Beispiel. Und wie LittleBobbyTables hat darauf hingewiesen, es kann getan werden nativ vom cmd-interpreter.
Nicht nativ, aber mit den Werkzeugen, die nahezu überall verfügbar ist (
findstr
ist nicht ein built-in-Befehl von cmd
, während dir
ist). Einigten sich auf die Verrücktheit bringen cygwin in diesem, aber.InformationsquelleAutor DapperDan | 2011-01-15
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
Den
/a-d
Schalter schließt Verzeichnisse, so dass Sie nur die Dateien. Diefindstr
parameter ermöglicht das durchsuchen der Dateien nach Zeichenfolgen, und die/vi
Schalter gibt an, ausschließen von Dateien enthält der nächste parameter, der Suche wird groß-und Kleinschreibung.Als Joey darauf hingewiesen, dass der
$
ist notwendig, um anzugeben, Ende der Zeile.cmd
ist, dann ist dieses zerfleischen der Dateinamen, und Sie können nicht alles tun, mit Ihnen.Eine weitere Anmerkung: Dies ist nicht der filter Erweiterungen, aber Teilstrings der Dateinamen. Also, wenn Sie eine Datei mit dem Namen
foo.ext1.bar
wird es gefiltert zu werden.das absolut funktioniert wie ein Charme. genau den Ausdruck, den ich gesucht hatte. thx so viel.
kann ich verhindern, dass das substring-Problem durch Kaskadierung findstr? z.B.: dir /b /s /a-d | findstr /vi ".ext1" | findstr /vi ".ext2"
d ' Oh, habe vergessen das $ - Zeichen. Ich habe aktualisiert die Abfrage so sollte es nur ausschließen von Dateien enden mit der Erweiterung.
InformationsquelleAutor LittleBobbyTables