Batch Joker-Zeichen in Kombination von Pfad- UND Datei-Name

NiFu

Lt. Junior Grade
Registriert
März 2012
Beiträge
435
Wie kann man das Joker-Zeichen "*" in Kombination von Pfad- und Datei-Name verwenden ?

Beispiel:
  • dir C:\Windows\winsxs\amd64*
    Listet alle Verzeichnisse, die mit "amd64" beginnen. Soweit klar.
  • dir /s /b C:\Windows\winsxs\*AdmTmpl.dll
    Listet alle Dateien "AdmTmpl.dll" im Verzeichnis "C:\Windows\winsxs\" und deren Unterverzeichnisse. Auch klar.
  • Bei einer 64 Bit Installation (Windows 7 oder Windows 8) sind das zwei Treffer:
    C:\Windows\winsxs\amd64....
    C:\Windows\winsxs\x86....
Wie kann man das reduzieren auf nur einen Treffer (z.B. nur auf Verzeichnisse von C:\Windows\winsxs\amd64*) ?
  • dir /s /b C:\Windows\winsxs\amd64*AdmTmpl.dll
    Findet nichts.
  • dir /s /b C:\Windows\winsxs\amd64*\*AdmTmpl.dll
    Ergibt Fehler: "Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch."
 
dir /s /b C:\Windows\winsxs\amd64\ | find "AdmTmpl.dll"

sollte funktionieren ;)


Edit: Sorry, hab nicht bedacht, dass mehrere Verzeichnisse mit "amd64..." existieren

Dies sollte aber mit zwei Pipes funktionieren:

dir /s /b C:\Windows\winsxs\ | find "amd64" | find "AdmTmpl.dll"
 
Zuletzt bearbeitet:
Benni- schrieb:
dir /s /b C:\Windows\winsxs\ | find "amd64" | find "AdmTmpl.dll"
Besten Dank, Benni. Das funktioniert im Groben. Nur, dass diese Befehlszeile mir nicht nur "AdmTmpl.dll" findet, sondern auch noch "AdmTmpl.dll.mui"
 
Oh, stimmt.

dir /s /b C:\Windows\winsxs\*.dll | find "amd64" | find "AdmTmpl.dll"

so aber :)
 
Danke. Das passt dann genau. Allerdings dann entweder nur genau auf ".dll" oder ich müsste die Extension (z.B. ".dll" oder ".exe") zweimal eingeben - einmal in der Mitte und einmal am Ende.

Oder- kürzer -so:
dir /s /b C:\Windows\winsxs\*AdmTmpl.dll | find "amd64"
 
NiFu schrieb:
Danke. Das passt dann genau. Allerdings dann entweder nur genau auf ".dll" oder ich müsste die Extension (z.B. ".dll" oder ".exe") zweimal eingeben - einmal in der Mitte und einmal am Ende.

Oder- kürzer -so:
dir /s /b C:\Windows\winsxs\*AdmTmpl.dll | find "amd64"

Ja - und mit einer Batchdatei und %~x1 für die Extension und %~nx1 für Name+Extension bleibt das flexibel.
 
Zurück
Oben