Zum Inhalt springen

Bestimmte Dateien (inkl. Unterverzeichnisse) ohne Pfade in eine Textdatei schreiben


Empfohlene Beiträge

Geschrieben

Hallo,

ich suche per Batch eine Möglichkeit, aus einem Verzeichnis alle Dateien eines bestimmten Dateityps (inkl. aus den Unterverzeichnissen) ohne die Angaben der Pfade in eine Batchdatei schreiben zu lassen. Per Google bin ich so weit gekommen:

dir /A /B /S >> datei.txt

Da stehen aber die Pfade drin und es werden alle Dateitypen aufgelistet. dir /? zeigt mir nichts zum rausfiltern bestimmter Dateitypen und zum rausschneiden der Pfade an. Kann der Befehl auch Umlaute und ß anzeigen?

Geschrieben

interessant, /B "vergisst" er wenn man /S macht.

dir /A-D /B /S *.txt >> datei.txt

/A-D nimmt alle Ordner (directories) weg

*.txt - alle Textdateien

*.* - alle Dateien

test*.* - alle DAteien die mit Test anfangen

datei??test.* - ale Dateien die mit datei anfangen und test enden, dazwischen 2 beliebige zeichen haben und egal welche Endung haben

alternativ gäbs auch noch /W aber das bringt ja auch nix

Geschrieben
interessant, /B "vergisst" er wenn man /S macht.

das meinte ich damit ;)

Ich hab auf meinem Privatrechner mal "Fast Folder Picture" oder sowas drauf gehabt, dass konnte Bilder nach solchen Regeln erstellen. Glaub auch Textdateien.

Ich probier später nochmal rum, gibt nämlich noch den schönen Dos Befehl "for" mit dem du schleifen erzeugen kannst. Einfach mal "for /?" in das Dos-Fenster eingeben.

Geschrieben

machst eine cmd oder bat Datei mit folgendem Inhalt:

@echo off

c:

cd\

dir /ad /s /b >> baum.txt

for /f "usebackq delims==" %%a in (c:\baum.txt) do dir "%%a\*.txt" /b >> c:\inhalt.txt

Zur Erläuterung:

- erste Zeile verhindert das der ganze Nonsens auf dem Bildschirm ausgegeben wird.

- zweite Zeile schmeißt dich auf dein Laufwerk wo du hinwillst

- dritte Zeile haut dich ins Root Verzeichnis

- die vierte Zeile schreibt alle Verzeichnisse (/ad) und Unterverzeichnisse (/s) ohne weitere Kopf- und Fußzeilen (/b) in die Datei baum.txt

- die fünfte Zeile schreibt in einer Schleife (for) alle Dateien (/f) die auch Leerzeichen und Tabs enthalten (usebackq delims==) aus die eben angelegte Datei baum.txt in die Varialbe a (%%a). Mit denen tut (do) er dann wieder Verzeichnisse anzeigen (dir) die nur TXT-Dateien enthalten und schreibt diese wiederrum in eine inhalt.txt Datei.

Noch Fragen? :)

Geschrieben (bearbeitet)

OK, passt, danke schön für die Hilfe.

edit

Passt fast - das Verzeichnis, in welchem die Unterverzeichnisse liegen, müsste auch in die baum.txt rein, denn da liegen auch Dateien "rum". Da sich der Pfad aber nicht ändert, könnte man per Befehl eine feste Textzeile an die baum.txt einfügen? Man muss dafür ja keine extra for-Schleife erstellen.

Bearbeitet von occi23
Geschrieben (bearbeitet)

echo windoos\süstem23 >> baum.txt

ggf. in Anführungszeichen "" da du ja auch Leerzeichen drin haben könntest.

>> findest hier eine kurze Beschreibung

Bearbeitet von Dok
******* wird zu ****** :D
Geschrieben

cd >> baum.txt

damit nimmt er das aktuelle verzeichnis wo du bist mit in die datei auf.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...