“File not found” beim dir Kommando
Mittels des Kommandos
dir /b "<Pfad>"
kann man sich die Dateinamen in dem Ordner <Pfad> auflisten lassen. Also nur die Dateinamen, ohne den gesamten Pfadnamen und ohne sonstige Informationen. Nun war die Aufgabe nicht alle Dateinamen aufzulisten, sondern nur jene die eine bestimmte Endung hatten. Versucht habe ich dann erst einmal so:
dir /b "<Pfad>" *.cmd
Ich bekam eine Ausgabe, die mich etwas stutzig gemacht hat:
Woher kam die Meldung File not Found? Wie es sich herausgestellt hat, führt diese Art dir aufzurufen zu folgendem Verhalten: Zuerst werden alle Dateien in dem Ordner <Pfad> aufgelistet und dann alle *.cmd Dateien, die sich in dem Ordner befinden in dem ich mich gerade in der Konsole befinde. Und in diesem Beispiel war das eben der C:\ Ordner. Und weil ich in C:\ keine *.cmd Dateien hatte, hat dir mir die Fehlermeldung File not Found ausgegeben.
Um trotzdem alle Dateinamen mit bestimmter Endung in einem Ordner heraus zu finden, muss man das Kommando nur leicht abändern:
dir /b <Pfad> | findstr /R /C:"\.cmd$"