neomasters
Goto Top

Ordnerinhalt in Liste erstellen

zusätzlich soll die liste editiert werden in der batch. es soll ein string gesucht und ersetzt werden.

Guten Tag!

Ich möchte eine Batch-Datei erstellen, welche mir den Inhalt eines Ordners inclusive unterodners anzeigt und in eine datei speichert.
diesen schritt hab ich schon gemacht;

dir /a /-p /s /o:gen >inhalt.txt

nun wird jedoch der komplette Pfad immer angezeigt in der liste also C:/Dokumente und Einstellungen/... ich möchte dies ersetzten bis zu dem ordner der wichtig is und alles davor soll heissen: ../[zielordner]

gibt es eine Möglichkeit die erstellte inhalt.txt direkt im Batchfile zu editieren und den String zu ersetzten?

Grüsse Andreas

Content-Key: 74754

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

Printed on: April 19, 2024 at 06:04 o'clock

Member: Biber
Biber Nov 29, 2007 at 13:44:52 (UTC)
Goto Top
Moin Neumeister,

diesen schritt hab ich schon gemacht;

dir /a /-p /s /o:gen >inhalt.txt

nun wird jedoch der komplette Pfad immer angezeigt in der liste also C:/Dokumente und
Einstellungen/...
Hmm, Befehl und beschriebener Output passen aber nur begrenzt zusammen...

ich möchte dies ersetzten bis zu dem ordner der wichtig is
"bis zu dem ordner der wichtig is" *Glaskugel polier*
und alles davor soll heissen: ../[zielordner]
gibt es eine Möglichkeit die erstellte inhalt.txt direkt im Batchfile zu editieren und den String zu ersetzten?
Nein.

Aber Du könntes es gleich passend erzeugen (Beispiel am CMD-Prompt]:
(=14:43:52  C:\Dokumente und Einstellungen=)
>for /f "tokens=2,* delims=\" %i in ('dir . /a /-b /s  /o:gen') do @echo ../[zielordner]%j  
....
../[zielordner]taskuser\Vorlagen\excel.xls
../[zielordner]taskuser\Vorlagen\excel4.xls
../[zielordner]tuser1\Eigene Dateien
../[zielordner]tuser1\Eigene Dateien\Eigene Musik

Im Batch jeweils 2 Prozentzeichen statt einem vor den Laufvariablen.

Grüße
Biber
Member: neomasters
neomasters Nov 29, 2007 at 15:41:25 (UTC)
Goto Top
(=14:43:52  C:\Dokumente und Einstellungen=)
>for /f "tokens=2,* delims=\" %i in ('dir . /a /-b /s  /o:gen') do @echo ../[zielordner]%j  
....
../[zielordner]taskuser\Vorlagen\excel.xls
../[zielordner]taskuser\Vorlagen\excel4.xls
../[zielordner]tuser1\Eigene Dateien
../[zielordner]tuser1\Eigene Dateien\Eigene Musik
jup das ist klasse, doch wie bekomm ich noch den aktuellen Benutzer weg? und wie kann ich die Ausgabein eine TXT speichern?
Member: Biber
Biber Nov 29, 2007 at 19:27:15 (UTC)
Goto Top
Moin Neumeister,

Statt
>for /f "tokens=2,* delims=\" %i in ('dir . /a /-b /s  /o:gen') do @echo ../[zielordner]%j  
wie ich es am CMD-Prompt eingetippt habe, brauchst Du statt vom Token 2 angefangen erst vom Token 3.

Und umleiten mit dem ">" (neu Erzeugen) oder ">>" (anhängen)-Symbol in eine Datei.

Nach dem Testen am CMD-Prompt kannst Du die Zeile in einen Batch kopieren und alle einfachen "%" durch "%%" ersetzen.

Gruß
Biber