Laden...

Kommandozeile: DIR *.txt liefert auch .txt*-Dateien

Letzter Beitrag vor 13 Jahren 6 Posts 1.706 Views
Kommandozeile: DIR *.txt liefert auch .txt*-Dateien

Mal was ganz anderes über das wir gerade gestolpert sind.

Man hat in einem Verzeichnis zwei Dateien:

test1.txt
test2.txt

mit Wildcards bekommt man dann beide Dateien:

DIR *.txt

Jetzt benennen wir die zweite Datei um in test2.txt2

Was würdet ihr jetzt erwarten, wenn man nun wieder mit DIR *.txt die Dateien auflisten lässt?

Ich würde eigentlich erwarten, dass jetzt nur die Datei test1.txt aufgelistet wird. Stattdessen werden aber wieder beide Dateien aufgelistet.

Damit das ganze noch ein bisschen verwirrender wird: Dieses Phänomen scheint nicht überall aufzutreten, wenn auch auf den meisten Rechnern. Aber kann mir das mal jemand erklären?

Bzw. weiß jemand, wie ich in diesem Fall dann DIR verwenden muss, um nur die Dateien zu bekommen, die wirklich mit .TXT aufhören?

Danke schon mal

Hallo Mossi,

warum das so ist weiß ich nicht, vllt. noch eine Altlast von 8.3-Dateinamen.
Mit


dir *.txt /b | findstr /e .txt

kommst du aber zum gewünschten Ergebnis.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

Hallo,

warum das so ist, siehst Du mit folgendem Kommando:


dir /x

hmmm... also doch ein Problem mit den 8.3 Namen. Hätt ich mir eigentlich denken können.
Ich versteh aber trotzdem nicht, warum das auf manchen wenigen Rechnern trotzdem funktioniert.

Hallo,

vielleicht ist's da mit fsutil ausgeschaltet.

Eine Erklärung dazu findet sich auch bei der Directory.GetFiles(string path, string searchPattern)-Methode unter dem Abschnitt "Hinweise" (passenderweise auch mit "*.txt" 😉