Ich versuche, eine Verzeichnisliste von nur Dateien mit einer bestimmten Erweiterung zu erhalten. Auf den ersten Blick scheint dies eine einfache Sache zu sein aber zu tun, dieses einfache Beispiel check out:Wie passen Sie eine genaue Dateierweiterung unter Windows/Kommandozeile/Datei öffnen Dialog?
C:\CODE\metcal>dir /b *.exe
metcal.exe
metcal.exe1
Beachten Sie, dass diese metcal.**exe**
und metcal.**exe1**
wie Streichhölzer zurück.
Mit Python-Dateien ein ähnliches passiert:
C:\CODE\metcal>dir /b *.py
metcal.py
metcal.pyc
Hinweis erneut Windows hat festgestellt, dass *.py
etwas nimmt, das mit beginnt *.py
so fängt es die .pyc
als auch Dateien.
Gibt es eine Möglichkeit, nur die Extensions zu erhalten, die genau übereinstimmen? In der obigen Python-Dateien Beispiel würde ich folgende auftreten (natürlich mit der richtigen Syntax für * Py substituiert) wie
C:\CODE\metcal>dir /b *.py
metcal.py
Als Hinweis der passende unter Windows nicht so einfach wie es scheint.
*.exe
Spiele foo.exe, foo.exe1, foo.exeabcde
aber nichtfoo.exe.bak
andere Fragen auf SO Es gibt, die ähnlich sind, die zu lange/kurze Dateinamen verwandt sind. Das Beispiel * .py und * .pyc sollte hier keine Namensmangel-Maschinerie einführen.
** Ich habe auf XP und Win7 Maschinen experimentiert und dieses Verhalten ist nicht in den Cmd Prompt und Datei öffnen Dialoge konsistent. Dieses uneinheitliche Verhalten lässt mich vermuten, dass dieses Problem mit Einstellungen von etwas zusammenhängt. **
Mit „DOS“ meinen Sie die Windows-Eingabeaufforderung 'cmd.exe' Befehl, Recht? – aschipfl
Ich denke, dass das gegebene Muster auch gegen den 8.3-Format-Dateinamen geprüft wird, also passt '* .exe' auch' * .exe1'; wenn die Erweiterung weniger als 3 Zeichen lang ist, wie '* .py', scheint es zu funktionieren, Dateien wie' * .pyc' werden nicht zurückgegeben - zumindest auf meinem Windows 7 x64-Rechner ... Für eine genaue Filterung verwende ich 'findstr', so:' dir/B "* .exe" | findstr/L/E ".doc" ' – aschipfl
Mögliches Duplikat von [Wildcard, um Dateien per exakter Erweiterung zu erhalten] (http://stackoverflow.com/questions/20761052/wildcard-to-getfiles-by-exact-extension) –