occi23 Geschrieben 14. April 2011 Geschrieben 14. April 2011 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? Zitieren
Gast Dok Geschrieben 14. April 2011 Geschrieben 14. April 2011 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 Zitieren
occi23 Geschrieben 14. April 2011 Autor Geschrieben 14. April 2011 OK, danke erstmal, funktioniert soweit nur die Pfade sind noch drin. Ich benötige nur die Dateinamen. Zitieren
Gast Dok Geschrieben 15. April 2011 Geschrieben 15. April 2011 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. Zitieren
Gast Dok Geschrieben 15. April 2011 Geschrieben 15. April 2011 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? Zitieren
occi23 Geschrieben 15. April 2011 Autor Geschrieben 15. April 2011 (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 15. April 2011 von occi23 Zitieren
Gast Dok Geschrieben 18. April 2011 Geschrieben 18. April 2011 (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 18. April 2011 von Dok ******* wird zu ****** :D Zitieren
Gast Dok Geschrieben 18. April 2011 Geschrieben 18. April 2011 cd >> baum.txt damit nimmt er das aktuelle verzeichnis wo du bist mit in die datei auf. Zitieren
Empfohlene Beiträge
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.