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-Key: 195673

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

Printed on: April 16, 2024 at 23:04 o'clock

Member: Lochkartenstanzer
Lochkartenstanzer Dec 11, 2012 updated at 10:07:37 (UTC)
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.
Member: andre92
andre92 Dec 11, 2012 at 10:08:46 (UTC)
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
Member: Lochkartenstanzer
Lochkartenstanzer Dec 11, 2012 at 11:35:33 (UTC)
Goto Top
win-bash funktioniert auch ohne Installation.
Member: andre92
andre92 Dec 11, 2012 at 11:45:40 (UTC)
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 ;)
Member: andre92
andre92 Dec 11, 2012 at 13:19:27 (UTC)
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
Member: TsukiSan
TsukiSan Dec 11, 2012 at 13:42:03 (UTC)
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
Member: andre92
andre92 Dec 11, 2012 at 14:19:18 (UTC)
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
Member: pieh-ejdsch
pieh-ejdsch Dec 11, 2012 updated at 16:57:17 (UTC)
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
Member: andre92
andre92 Dec 12, 2012 at 07:26:37 (UTC)
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