Batch Ordnerstruktur mit Produkten in einer txt Datei wiedergeben
Hey,
also ich habe folgendes Problem:
Ich will eine Ordnerstruktur mit Hilfe einer Batch Datei in eine .txt datei übertragen.
Die Ordnerstruktur sieht wie folgt aus:
Hey,
also ich habe folgendes Problem:
Ich will eine Ordnerstruktur mit Hilfe einer Batch Datei in eine .txt datei übertragen.
Die Ordnerstruktur sieht wie folgt aus:
Nun möchte ich gern zwei Batch Dateien erstellen:
Die erste sollte können:
Alle Bilder in den Ordnern (also alle Ordner bei dennen Bilder im Ordnername vorkommt) die in eine .txt Datei schreiben. Jedoch sollte vor jeder ausgabe noch CreateDirectory $INSTDIR\Dokumentation\Produktname\Ensprechender Ordner und SetOutPath $INSTDIR\Dokumentation\Produktname\Ensprechender Ordner kommen. Die Dateien sollen so aufgelistet werden: ${AddFile} Datei
Die zweite Batch Datei soll folgendes können:
nach einer Eingabe der Sprache (z.B. Deutsch) sollen alle Proukte die einen Ordner Deutsch enthalten diesen auflisten. Die Auflistung soll wie oben Erfolgen (also mit dem CreateDirectory und so)
MfG Tobi
also ich habe folgendes Problem:
Ich will eine Ordnerstruktur mit Hilfe einer Batch Datei in eine .txt datei übertragen.
Die Ordnerstruktur sieht wie folgt aus:
Hey,
also ich habe folgendes Problem:
Ich will eine Ordnerstruktur mit Hilfe einer Batch Datei in eine .txt datei übertragen.
Die Ordnerstruktur sieht wie folgt aus:
Verzeichnis von D:\Dokumentation
01.07.2011 10:13 <DIR> .
01.07.2011 10:13 <DIR> ..
01.07.2011 10:12 <DIR> Produkt 1
01.07.2011 10:12 <DIR> Produkt 2
0 Datei(en) 0 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
01.07.2011 10:12 <DIR> Deutsch
01.07.2011 10:12 <DIR> Englisch
01.07.2011 10:12 <DIR> FC_Bilder
01.07.2011 10:12 <DIR> Französisch
01.07.2011 10:12 <DIR> JU_Bilder
01.07.2011 10:12 <DIR> MuP_Bilder
0 Datei(en) 0 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1\Deutsch
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
01.07.2011 10:12 <DIR> AE
01.07.2011 10:12 <DIR> DC
01.07.2011 10:12 <DIR> FC
0 Datei(en) 0 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1\Deutsch\AE
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
21.05.2010 06:50 11.096 M000580.htm
21.05.2010 06:52 3.114 T002608.htm
2 Datei(en) 14.210 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1\Deutsch\DC
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
02.12.2009 16:49 3.702 M000489.htm
20.05.2010 13:51 33.608 T006396.htm
2 Datei(en) 37.310 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1\Deutsch\FC
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
17.11.2009 09:39 10.697 T006228.htm
17.11.2009 09:39 24.050 T006230.htm
17.11.2009 09:39 8.028 T006233.htm
17.11.2009 09:39 39.083 T006633.htm
4 Datei(en) 81.858 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1\Englisch
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
01.07.2011 10:12 <DIR> AE
01.07.2011 10:12 <DIR> DC
01.07.2011 10:12 <DIR> FC
0 Datei(en) 0 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1\Englisch\AE
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
21.05.2010 06:50 11.096 M000580.htm
21.05.2010 06:52 3.114 T002608.htm
2 Datei(en) 14.210 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1\Englisch\DC
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
02.12.2009 16:49 3.702 M000489.htm
20.05.2010 13:51 33.608 T006396.htm
2 Datei(en) 37.310 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1\Englisch\FC
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
17.11.2009 09:39 10.697 T006228.htm
17.11.2009 09:39 24.050 T006230.htm
17.11.2009 09:39 8.028 T006233.htm
17.11.2009 09:39 39.083 T006633.htm
4 Datei(en) 81.858 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1\FC_Bilder
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
08.09.2009 14:21 2.385 I000114.jpg
08.09.2009 13:53 2.197 I000114.png
2 Datei(en) 4.582 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1\Französisch
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
01.07.2011 10:12 <DIR> AE
01.07.2011 10:12 <DIR> DC
01.07.2011 10:12 <DIR> FC
0 Datei(en) 0 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1\Französisch\AE
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
21.05.2010 06:50 11.096 M000580.htm
21.05.2010 06:52 3.114 T002608.htm
2 Datei(en) 14.210 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1\Französisch\DC
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
02.12.2009 16:49 3.702 M000489.htm
20.05.2010 13:51 33.608 T006396.htm
2 Datei(en) 37.310 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1\Französisch\FC
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
17.11.2009 09:39 10.697 T006228.htm
17.11.2009 09:39 24.050 T006230.htm
17.11.2009 09:39 8.028 T006233.htm
17.11.2009 09:39 39.083 T006633.htm
4 Datei(en) 81.858 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1\JU_Bilder
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
02.12.2009 16:35 2.428 I000066.jpg
08.09.2009 14:46 399 I000066.png
2 Datei(en) 2.827 Bytes
Verzeichnis von D:\Dokumentation\Produkt 1\MuP_Bilder
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
08.09.2009 14:21 2.385 I000114.jpg
08.09.2009 13:53 2.197 I000114.png
2 Datei(en) 4.582 Bytes
Verzeichnis von D:\Dokumentation\Produkt 2
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
01.07.2011 10:12 <DIR> Deutsch
01.07.2011 10:12 <DIR> Englisch
01.07.2011 10:12 <DIR> Französisch
01.07.2011 10:12 <DIR> M_Bilder
0 Datei(en) 0 Bytes
Verzeichnis von D:\Dokumentation\Produkt 2\Deutsch
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
01.07.2011 10:12 <DIR> AE
01.07.2011 10:12 <DIR> DC
01.07.2011 10:12 <DIR> FC
0 Datei(en) 0 Bytes
Verzeichnis von D:\Dokumentation\Produkt 2\Deutsch\AE
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
21.05.2010 06:50 11.096 M000580.htm
21.05.2010 06:52 3.114 T002608.htm
2 Datei(en) 14.210 Bytes
Verzeichnis von D:\Dokumentation\Produkt 2\Deutsch\DC
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
02.12.2009 16:49 3.702 M000489.htm
20.05.2010 13:51 33.608 T006396.htm
2 Datei(en) 37.310 Bytes
Verzeichnis von D:\Dokumentation\Produkt 2\Deutsch\FC
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
17.11.2009 09:39 10.697 T006228.htm
17.11.2009 09:39 24.050 T006230.htm
17.11.2009 09:39 8.028 T006233.htm
17.11.2009 09:39 39.083 T006633.htm
4 Datei(en) 81.858 Bytes
Verzeichnis von D:\Dokumentation\Produkt 2\Englisch
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
01.07.2011 10:12 <DIR> AE
01.07.2011 10:12 <DIR> DC
01.07.2011 10:12 <DIR> FC
0 Datei(en) 0 Bytes
Verzeichnis von D:\Dokumentation\Produkt 2\Englisch\AE
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
21.05.2010 06:50 11.096 M000580.htm
21.05.2010 06:52 3.114 T002608.htm
2 Datei(en) 14.210 Bytes
Verzeichnis von D:\Dokumentation\Produkt 2\Englisch\DC
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
02.12.2009 16:49 3.702 M000489.htm
20.05.2010 13:51 33.608 T006396.htm
2 Datei(en) 37.310 Bytes
Verzeichnis von D:\Dokumentation\Produkt 2\Englisch\FC
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
17.11.2009 09:39 10.697 T006228.htm
17.11.2009 09:39 24.050 T006230.htm
17.11.2009 09:39 8.028 T006233.htm
17.11.2009 09:39 39.083 T006633.htm
4 Datei(en) 81.858 Bytes
Verzeichnis von D:\Dokumentation\Produkt 2\Französisch
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
01.07.2011 10:12 <DIR> AE
01.07.2011 10:12 <DIR> DC
01.07.2011 10:12 <DIR> FC
0 Datei(en) 0 Bytes
Verzeichnis von D:\Dokumentation\Produkt 2\Französisch\AE
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
21.05.2010 06:50 11.096 M000580.htm
21.05.2010 06:52 3.114 T002608.htm
2 Datei(en) 14.210 Bytes
Verzeichnis von D:\Dokumentation\Produkt 2\Französisch\DC
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
02.12.2009 16:49 3.702 M000489.htm
20.05.2010 13:51 33.608 T006396.htm
2 Datei(en) 37.310 Bytes
Verzeichnis von D:\Dokumentation\Produkt 2\Französisch\FC
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
17.11.2009 09:39 10.697 T006228.htm
17.11.2009 09:39 24.050 T006230.htm
17.11.2009 09:39 8.028 T006233.htm
17.11.2009 09:39 39.083 T006633.htm
4 Datei(en) 81.858 Bytes
Verzeichnis von D:\Dokumentation\Produkt 2\M_Bilder
01.07.2011 10:12 <DIR> .
01.07.2011 10:12 <DIR> ..
02.04.2009 12:04 187.527 I011487.png
02.04.2009 12:04 192.704 I011513.png
2 Datei(en) 380.231 Bytes
Anzahl der angezeigten Dateien:
Nun möchte ich gern zwei Batch Dateien erstellen:
Die erste sollte können:
Alle Bilder in den Ordnern (also alle Ordner bei dennen Bilder im Ordnername vorkommt) die in eine .txt Datei schreiben. Jedoch sollte vor jeder ausgabe noch CreateDirectory $INSTDIR\Dokumentation\Produktname\Ensprechender Ordner und SetOutPath $INSTDIR\Dokumentation\Produktname\Ensprechender Ordner kommen. Die Dateien sollen so aufgelistet werden: ${AddFile} Datei
Die zweite Batch Datei soll folgendes können:
nach einer Eingabe der Sprache (z.B. Deutsch) sollen alle Proukte die einen Ordner Deutsch enthalten diesen auflisten. Die Auflistung soll wie oben Erfolgen (also mit dem CreateDirectory und so)
MfG Tobi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 168953
Url: https://administrator.de/forum/batch-ordnerstruktur-mit-produkten-in-einer-txt-datei-wiedergeben-168953.html
Ausgedruckt am: 23.12.2024 um 19:12 Uhr
17 Kommentare
Neuester Kommentar
Hallo,
So als erster Ansatz
Gruß
Ich will eine Ordnerstruktur mit Hilfe einer Batch Datei in eine .txt datei übertragen.
H:\>tree /?
Zeigt die Ordnerstruktur eines Laufwerks oder Pfads grafisch an.
TREE [Laufwerk:][Pfad] [/F] [/A]
/F Zeigt die Namen der Dateien in jedem Ordner an.
/A Verwendet den ASCII- statt des erweiterten Zeichensatzes.
So als erster Ansatz
Gruß
Aloha,
Teil 1
Ausgabe sieht dann so aus:
EDIT Mit Pfad ab (einschließlich) Produkt und mehr Leerzeilen
zu Teil 2 habe ich noch eine Nachfrage:
Sollen die Unterordner aufgeschlüsselt werden, die Dateien angezeigt und auch wieder mit AddFile ausgegeben werden? Also so z.B.:
oder doch nur so:
Oder doch anders?
Ist mir nicht eindeutig in deiner Anfrage.
greetz André
Teil 1
@echo off & setlocal
set "rootpfad=D:\DOKUMENTATION"
set "LOG=D:\DOKUMENTATION\Bilder.txt"
if exist "%LOG%" del "%LOG%"
for /f "delims=" %%s in ('dir /b /s /ad "%rootpfad%" ^|findstr /i "Bilder"') do call :Ablauf "%%s"
pause
goto :eof
:Ablauf
for /f "tokens=3 delims=\" %%a in ("%~1") do (
(echo(
echo CreateDirectory $INSTDIR\Dokumentation\%%a\%~n1
echo(
echo SetOutPath $INSTDIR\Dokumentation\%%a\%~n1
echo(
)>>"%LOG%"
for /f "delims=" %%d in ('dir /b /a-d "%~1"') do (
echo ${AddFile} \%%a\%~n1\%%d
echo(
)>>"%LOG%"
(echo(
echo(
echo(
)>>"%LOG%"
)
goto :eof
Ausgabe sieht dann so aus:
CreateDirectory $INSTDIR\Dokumentation\Produkt 1\FC_Bilder
SetOutPath $INSTDIR\Dokumentation\Produkt 1\FC_Bilder
${AddFile} \Produkt 1\FC_Bilder\Kopie von P1_FC.jpg
${AddFile} \Produkt 1\FC_Bilder\P1_FC.jpg
CreateDirectory $INSTDIR\Dokumentation\Produkt 1\M_Bilder
SetOutPath $INSTDIR\Dokumentation\Produkt 1\M_Bilder
${AddFile} \Produkt 1\M_Bilder\Kopie von P1_M.jpg
${AddFile} \Produkt 1\M_Bilder\P1_M.jpg
CreateDirectory $INSTDIR\Dokumentation\Produkt 2\FC_Bilder
SetOutPath $INSTDIR\Dokumentation\Produkt 2\FC_Bilder
${AddFile} \Produkt 2\FC_Bilder\P2_FC.jpg
CreateDirectory $INSTDIR\Dokumentation\Produkt 2\M_Bilder
SetOutPath $INSTDIR\Dokumentation\Produkt 2\M_Bilder
${AddFile} \Produkt 2\M_Bilder\P2_M.jpg
EDIT Mit Pfad ab (einschließlich) Produkt und mehr Leerzeilen
zu Teil 2 habe ich noch eine Nachfrage:
Sollen die Unterordner aufgeschlüsselt werden, die Dateien angezeigt und auch wieder mit AddFile ausgegeben werden? Also so z.B.:
CreateDirectory $INSTDIR\Dokumentation\Produkt_1\Deutsch
SetOutPath $INSTDIR\Dokumentation\Produkt 1\Deutsch
CreateDirectory $INSTDIR\Dokumentation\Produkt_1\Deutsch/AE
SetOutPath $INSTDIR\Dokumentation\Produkt_1\Deutsch\AE
$(AddFile) P1_D_AE.txt
CreateDirectory $INSTDIR\Dokumentation\Produkt_1\Deutsch/DC
SetOutPath $INSTDIR\Dokumentation\Produkt_1\Deutsch\DC
$(AddFile) P1_D_DC.txt
CreateDirectory $INSTDIR\Dokumentation\Produkt_1\Deutsch/FC
SetOutPath $INSTDIR\Dokumentation\Produkt_1\Deutsch\FC
$(AddFile) P1_D_FC.txt
oder doch nur so:
CreateDirectory $INSTDIR\Dokumentation\Produkt 1\Deutsch
SetOutPath $INSTDIR\Dokumentation\Produkt 1\Deutsch
CreateDirectory $INSTDIR\Dokumentation\Produkt 2\Deutsch
SetOutPath $INSTDIR\Dokumentation\Produkt 2\Deutsch
Oder doch anders?
Ist mir nicht eindeutig in deiner Anfrage.
greetz André
Aloha,
nun, batch lernen zum Beispiel ...
Zeile 24 schließt Ablauf ab und springt zu zur Schleife in Zeile 5, die schließt in Zeile 7 ab und beendet das Skript ... Zeile 26ff. sollte also zwischen Zeile 5 und 7
anyway hier ist Teil 2 (noch auf alter Basis der tokens und Pfade)
greetz André
nun, batch lernen zum Beispiel ...
Zeile 24 schließt Ablauf ab und springt zu zur Schleife in Zeile 5, die schließt in Zeile 7 ab und beendet das Skript ... Zeile 26ff. sollte also zwischen Zeile 5 und 7
anyway hier ist Teil 2 (noch auf alter Basis der tokens und Pfade)
@echo off & setlocal
set "rootpfad=D:\DOKUMENTATION"
set "LOG=D:\DOKUMENTATION\Sprache.txt"
set /p "Sprache=Bitte geben Sie die gewuenschte Sprache an: "
if exist "%LOG%" del "%LOG%"
for /f "delims=" %%s in ('dir /b /s /ad "%rootpfad%" ^|findstr /i /e "%Sprache%"') do call :Ablauf "%%s"
pause
goto :eof
:Ablauf
for /f "tokens=3 delims=\" %%a in ("%~1") do (
(echo(
echo CreateDirectory $INSTDIR\Dokumentation\%%a\%~n1
echo(
echo SetOutPath $INSTDIR\Dokumentation\%%a\%~n1
echo(
echo(
echo(
echo(
echo(
)>>"%LOG%"
for /f "delims=" %%u in ('dir /b /ad "%~1"') do (
(echo(
echo CreateDirectory $INSTDIR\Dokumentation\%%a\%~n1\%%u
echo(
echo SetOutPath $INSTDIR\Dokumentation\%%a\%~n1\%%u
echo(
)>>"%LOG%"
for /f "delims=" %%d in ('dir /b /a-d "%~1\%%u"') do (
echo ${AddFile} \%%a\%~n1\%%u\%%d
echo(
)>>"%LOG%"
(echo(
echo(
echo(
)>>"%LOG%"
)
)
)
goto :eof
greetz André