andre92
Goto Top

In Alle Ordner mit bestimmten Anfangsbuchstaben eine leere Textdatei erzeugen

Hey Leute,

Ich will eine Batch Datei erstellen mit der ich zuerst einen Pfad eingebe, anschließend soll der Inhalt dieses Pfades nach Ordnern untersucht werden.

Dann sollen alle Ordner überprüft werden und in die Ordner die mit dem Buchstaben z.B. A anfangen eine leere Textdatei erzeugt werden.

Mit meinem Code klappt die Pfadeingabe, die Überprüfung und die Erzeugung der Textdatei problemlos, allerdings nur in den ersten Ordner der (in diesem Beispiel) mit H anfängt, die restlichen werden nicht angesprungen.

Wie muss ich meinen Code verändern sodass alle Ordner mit einem bestimmten Anfangsbuchstaben "geöffnet" und in ihnen eine leere Textdatei erzeugt wird?

Mfg und thx für die Antworten im Vorraus.

Andre

Code:

@echo off
echo Bitte Pfad eingeben:
set /p pfad=
goto Ausgabe:

:Ausgabe
For %%a IN ("%pfad%") DO (
PushD "%pfad%\H*\*.*"
echo. > Irgendwas.txt
PopD
)
goto ende

:ende
echo Programm erfolgreich!
pause

Content-ID: 195673

Url: https://administrator.de/forum/in-alle-ordner-mit-bestimmten-anfangsbuchstaben-eine-leere-textdatei-erzeugen-195673.html

Ausgedruckt am: 22.04.2025 um 06:04 Uhr

Lochkartenstanzer
Lochkartenstanzer 11.12.2012 aktualisiert um 11:07:37 Uhr
Goto Top
moin

cygwin installieren und dann einfach

touch /cygdrive/laufwerksbuchstabe/pfad/A*/leere-datei.txt

tippen.

lks

PS: Notfalls reicht auf die windows-version der bash aus, wenn man nicht das koplette cygwin drafuhaben will.
andre92
andre92 11.12.2012 um 11:08:46 Uhr
Goto Top
Danke für deine Antwort.

Da ich hier am PC in der Arbeit bin hab ich nicht die Rechte um irgendwas zu installieren.
Hät ich vlt. dazuschreiben sollen sorry face-confused

Gibts eventuell noch ne andere Möglichkeit wie es ohne zusätzliche Programme o.ä. geht?

Mfg
Lochkartenstanzer
Lochkartenstanzer 11.12.2012 um 12:35:33 Uhr
Goto Top
win-bash funktioniert auch ohne Installation.
andre92
andre92 11.12.2012 um 12:45:40 Uhr
Goto Top
Okay danke ich schaus mir mal an.

Über andere Möglichkeiten wie es nur mit dem Editor geht würd ich mich natürlich auch freuen ;)
andre92
andre92 11.12.2012 um 14:19:27 Uhr
Goto Top
Also da muss man sich ne Datei runterladen aber wie bereits erwähnt hab ich die Rechte dazu nicht.

Gibt es keine andere Möglichkeit NUR mit einer Batch-Datei (ohne zusätzliche Programme usw) dieses Problem zu lösen?

Mfg
TsukiSan
TsukiSan 11.12.2012 um 14:42:03 Uhr
Goto Top
Hallo andre92,

als Anfang mal diese Zeilen:
echo Bitte Pfad eingeben:
set /p pfad=
Dir %pfad% /B /S /AD >Ordner.txt
goto Ausgabe:

:Ausgabe
For %%a IN ('Dir %pfad% /B /S /AD') DO Echo irgendwas  

Gruss

Tsuki
andre92
andre92 11.12.2012 um 15:19:18 Uhr
Goto Top
Hey Tsuki danke für deine Antwort

also bei Batch blick ich die For-Schleifen nicht... was genau passiert bei ('Dir %pfad% /B /S /AD')?

Und was schreib ich ins "DO" damit ne Textdatei in jedem Ordner den ich will erstellt wird? Steh total aufm Schlauch ... face-confused
pieh-ejdsch
pieh-ejdsch 11.12.2012 aktualisiert um 17:57:17 Uhr
Goto Top
moin andre92,

ein schickes Tutorial zur FOR-Schleife ist hier auch.

für die CMD-Line :
cmd /k "for /l %i in (0) do @set /p Pfad=Bitte Pfad eingeben: &&(cmd /von /c "for /d %a in ("!Pfad!\*") do type nul ^>"%~fa\NeueLeere.txt"")&& exit /b||echo Bitte Richtig!"
und im Batch:
:Eingabe
set /p "Pfad=Bitte Pfad eingeben: " ||goto :Eingabe  
for /d %%i in ("%pfad%\*") do  type nul >"%%~fi\NeueLeere.txt"  

Gruß Phil
andre92
andre92 12.12.2012 um 08:26:37 Uhr
Goto Top
Danke Phil!!
Deine Lösung klappt wunderbar!
Ich bin echt verzweifelt gewesen weiß gar nicht wie lang ich da schon dran rumprobier^^
Und auch danke für den Link für das Tutorial!

Mfg