kptkaracho
Goto Top

Batch Datei ordnerliste

wurde von einem freund auf dieses forum verwiesen
hoffe hier kann man mir helfen

Hallo

habe folgendes problem
und zwar habe ich eine batch datei welche mir alle ordner in einer TXT speichert

nun hätte ich aber gerne das mir diese batch datei die TXT so benennt wie der ordner in dem sie liegt

also ich hab die file in m:\musik
aber es benennt mir die datei leider momentan immer so wie ich es in der batch stehen habe, will aber das es die datei dann "musik" benennt

hier mal der inhalt meiner batch datei
@echo off
Dir /AD /B >ordnerliste.txt

wäre super wenn mir jemand helfen kann

bis dann und danke
Käptn

Content-Key: 121499

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

Printed on: April 25, 2024 at 15:04 o'clock

Member: bastla
bastla Jul 28, 2009 at 16:04:18 (UTC)
Goto Top
Hallo KptnKaracho und willkommen im Forum!

Etwa so:
@echo off & setlocal
pushd "%~dp0"  
for %%i in ("%cd%") do dir /b /ad >"%%~nxi.txt"  
popd
Einschränkung: Wenn Du den Batch im Root-Ordner (als zB in "D:\") liegen hast, wird die Ergebnisdatei nur ".txt" heißen ...
Grüße
bastla
Member: KptKaracho
KptKaracho Jul 28, 2009 at 16:21:39 (UTC)
Goto Top
ist nicht schlimm

perfekt das funktioniert genau so wie ich mir das gewünscht habe

danke vielmals

bis dann
Käptn
Member: geTuemII
geTuemII Jul 28, 2009 at 16:27:23 (UTC)
Goto Top
Hallo Karacho,

willkommen im Forum. Dein Problem sollte sich ja mit bastlas Script schon erledigt haben. Aber trotdem noch ein ein Tip: Batch-Anfragen stellst du am besten im Bereich #Batch, nicht alle Bewohner dieses kleinen aber feinen Seitenarms des Forums kommen auch in die "große Forenwelt" face-wink

Meinjanur, geTuemII
Member: pieh-ejdsch
pieh-ejdsch Jul 28, 2009 at 16:28:28 (UTC)
Goto Top
Hallo KptnKaracho,

äähhm... müssten da nicht zwei >> vor die txt gesetzt werden?
ordner haben keine extension

aber für den Root würde es doch so gehen
@echo off & setlocal
set root=%~d0
pushd "%~dp0"  
for %%i in ("%cd%") do if "%~p0"=="" (dir /b /ad >"%root:~0,1%.txt") else dir /b /ad >"%%~nxi.txt"  
popd

Gruß Phil
Member: miniversum
miniversum Jul 28, 2009 at 16:44:01 (UTC)
Goto Top
Würde da nicht ein einfaches
@dir /AD /B >"%~nx0.txt"
reichen?
Member: bastla
bastla Jul 28, 2009 at 16:47:11 (UTC)
Goto Top
@miniversum
Da ja aber der Ordnername, und nicht der Name der Batchdatei gewünscht war ...

Grüße
bastla
Member: miniversum
miniversum Jul 28, 2009 at 16:56:02 (UTC)
Goto Top
Ähm.. hust..
ok. denkfehler.
Member: bastla
bastla Jul 28, 2009 at 16:57:27 (UTC)
Goto Top
@ph
aber für den Root würde es doch so gehen
Mit Batch geht ohnehin fast alles ... face-smile
Es genügt übrigens ein einzelnes ">", da ja das Ergebnis des "dir"-Befehles nicht zeilenweise verarbeitet, sondern en bloc in die Datei geschrieben wird (mit dem netten Nebeneffekt, dass eine bereits bestehende Datei überschrieben wird).
ordner haben keine extension
... können aber trotzdem einen oder mehrere Punkte im Namen haben - und ein "%~ni" beinhaltet nun mal alles ab dem letzten Punkt nicht mehr ...

Grüße
bastla
Member: pieh-ejdsch
pieh-ejdsch Jul 28, 2009 at 17:08:03 (UTC)
Goto Top
aha...

da hab ich heute ja wieder eine ganze Menge dazugelernt

besten dank für die Infos

MS Windows - ein Buch mit endlosen Fragen...

[oben berichtigt]

Gruß Phil