boecek
Goto Top

Per Batch nach Dateiendung suchen

Batch, das nach bestimmter Dateiendung sucht, und die Liste in ein TXT exportiert

Hallo liebe Administrator Leute

Ich soll einen kleinen Batch erstellen, womit ich nach bestimmten Dateiendungen auf nem gewissen Pfad suchen kann, und die Namen dieser Dateien dann in ein txt File reinschreiben.

zB im Ordner Programme nach den exe Files, und diese dann aufgelistet im Programme.txt. Zwar wäre die Idee gewesen das ich auch noch die Version des exe Files im txt erwähne aber ich habe keinen blassen Schimmer wie ich das machen soll. Habe mich auf verschiedenen Seiten umgesehen, auch in der Befehlsreferenz nachgeschaut, aber ich finde keinen Befehl der mir irgendwie beides ermöglicht (nach der Datei suchen und in eine txt Datei reinschreiben).
Ich bin mir bewusst das dies wohl über zwei (oder mehr) kombinierte Befehle zu machen ist, da ich jedoch über keine Programmierkenntnisse verfüge weiss ich wirklich nicht wie ich das angehen soll.

Über Hilfe würde ich mich sehr freuen und Danke im voraus

Grüsse boecek

Content-Key: 81002

Url: https://administrator.de/contentid/81002

Printed on: April 23, 2024 at 21:04 o'clock

Member: miniversum
miniversum Feb 18, 2008 at 12:14:50 (UTC)
Goto Top
Das ist ganz einfach.

1.
Mit dem Befehl
dir /B /S c:\Programme\*.exe
Werden dir alle exe-Dateien in c:\Programme angezeigt. Das /S sorgt dafür das auch die Unterverzeichnisse durchsucht und ausgegeben werden. Der Parameter /B Zeigt dir nur eine Liste der Dateien an ohne angaben zur größe, header und sonstigem.

2.
durch das anhängen eines >Dateiname.txt Kann die ausgabe eines Programms in eine Datei umgeleitet werden. Dabei bedeutet > das Eine Datei neu geschrieben wird sollte sie schon existieren und >> das an eine Bestehende Datei angehängt wird.


Jetzt kanst du das ganze kombinieren:
dir /B /S c:\Programme\*.exe>Programme.txt
würde dir also eine Datei Programme.txt erzeugen mit einer Liste Aller exe-Dateien unter C:\Programme

Ich hoffe das hilft dir.
Member: boecek
boecek Feb 18, 2008 at 12:54:37 (UTC)
Goto Top
Vielen Dank für deine Hilfe

Ich habe den Code porbiert, die txt Datei bleibt nach dem Ausführen leider immer leer. Ich habe ein Pause hinzugefügt um zu sehen warum, und es steht jeweils nur "The system cannot find the file specified". Ein Schreibfehler könnte es nicht sein da ich den Pfad aus der Adressleiste kopiere. Habe verschiedene Pfade ausprobiert, auch den Batch an verschiedenen orten platziert. Was könnte die Ursache sein?
Member: miniversum
miniversum Feb 18, 2008 at 13:10:23 (UTC)
Goto Top
Starte mal die Eingabeaufforderung (Start->Ausführen_>"cmd").
Dort tip mal
dir /s /b C:\Programme\*.exe
ein. Dann soltest du am Bildschirm die entsprechenden Dateien angezeigt bekommen.
Wenn das geht dan gib folgendes ein:
dir /s /b C:\Programme\*.exe>Programme.txt

Von welchem Verzeichnis aus dud as eingibst bzw. wo die Batch später liegt ist egal. Allerdings wird so die Datei Programme.txt dort erstellt wo du gerade bist. Hast du dort keine schrebrechte kommt eine Fehlermeldung.

Sollte das erste, also dir /s /b C:\Programme\*.exe nicht gehen könnte es ein das dir die entsprechenden Rechte fehlen.
Dann kannst du mal folgendes versuchen:
dir /s /b "%temp%"
Das sollte denke ich auf jeden fall gehen.
Member: boecek
boecek Feb 18, 2008 at 13:37:40 (UTC)
Goto Top
Ah jetzt, hat prima geklappt, vielen Dank face-smile
Ich weiss nicht was ich vorhin falsch gemacht habe aber jetzt gehts.
Danke nochmals miniversum face-smile