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.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...