thefreak
Goto Top

Batch aus SendTo - Ordner heraus ausführen - Ziel ist Auflisten aller Dateien in einem Ordner XY und ausgabe in einer Textdatei

Hallo miteinander,

jetzt habe ich schon 2 Tage dieses wirklich umfangreiche Forum durchstöbert aber es hat mir leider nichts gebracht.
(Vermutlich auch desshalb weil ich keine Ahnung von der Thematik habe und meist nur "Bahnhof" verstehe)
Aktuell habe ich das Problem, dass ich immer wieder eine Textliste - eine Textdatei haben sollte in der alle Dateien aus einem Ordner XY gelistet sind.
An und für sich - so wie ich dachte - ideal für eine kleine Batchdatei - und schnell erledigt..... weit gefehlt meine Kenntnisse reichen nicht im entferntesten...
und um mir das nötige Verständniss anzueignen reich mir die Zeit nicht.

Eine Dateiliste aus einem Ordner zu generieren in dem die Batchdatei kliegt ist kein Prob. Nur ist das natürlich nicht im Sinne des Erfinders.
Das ganze macht für mich eigentlich nur Sinn wenn ich die Batch z.B. über die Funktion "Senden an" starten kann - Die Dateiliste selbst (über)schreibe ich dann immer an ein und die selbe Stelle - den gleichen Ordner....

@echo off
echo Liste aller Dateien erzeugen
ECHO %CMDCMDLINE% >Datlist.txt
(Da schreibe ich den Pfad in die erste Zeile - es schreibt mir auch den Pfad mit dazu auf den das Sendto verweist - jetzt sollte ich den nur noch "extrahieren" und vor in die Zeile mit dem "dir - Befehl" bekommen ? oder wie kommme ich sonst noch daran? )

(Hier geht es mir völlig aus - vermutlich brauche ich dafür irgendetwas mit " FOR /f %%f IN (Datlist.txt) DO echo %%f " aber egal was ich bislang ausprobiert habe ich bekomme nichts verwertbares heraus)

dir /b >>Datlist.txt
move Datlist.txt C:\Datlist.txt
start notepad c:\Datlist.txt

Wenn die Batch in dem Ordner ist den ich auswerten möchte erhalte ich einen Textfile z.B.: cmd /c ""Z:\Gruppen\E-Teile- Service\StartDatL.bat" "
11-10-199-0001 Mischergeh„use-mittel.bak
11-10-199-0001 Mischergeh„use-mittel.dwg
11-10-199-0001 Mischkopf-klein.bak
11-10-199-0001 Mischkopf-klein.dwg
11-10-199-0001 Mischkopf.dwg
11-10-199-0002 Mischergeh„use-gross.bak
usw....
(DAS würde mir reichen - damit wäre ich schon mal hochzufrieden - vorausgesetzt eben ich kann das per "Linksklick und Senden an" ausführen)


Wenn ich über "SendTo" gehe sieht sie so aus:
cmd /c ""C:\Dokumente und Einstellungen\Harry\SendTo\StartDatL.bat" "Z:\Gruppen\E-Teile- Service"" (die nachfolgend gelisteten Dateien liegen aber wo ganz wo anders......)
BJABLR32.DLL
cal.pos
CDO.DLL
CMC.DLL
CNFNOT32.EXE
CONTAB32.DLL
usw...
Ich brauche aber das Ergebnis von Oben - wie wenn die Batch in dem Ordner wäre....
Ganz grob kann ich erahnen was da passiert. Nur wie ich jetzt an den Teil mit "Z:\Gruppen\E-Teile- Service" ran komme und diesen Teil in der Batch verwende da geht es mir eben völlig aus...

Wäre echt super wenn mir jemand (mit was fertigem) helfen könnte.

Danke und Grüße
Harry

Content-Key: 184426

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

Printed on: April 18, 2024 at 10:04 o'clock

Mitglied: 106009
106009 May 03, 2012 at 13:51:43 (UTC)
Goto Top
Hallo und willkommen im Forum!

Vorschlag als Anregung:
@echo off
::Evtl bei fehlerhafter Darstellung der Umlaute noch die nächste Zeile verwenden, die beiden :: dazu wegnehmen
::chcp 1252

set TmpFile="%tmp%\dir.txt"  
dir "%~1" /on /a-d > %TmpFile%  
start "" notepad %TmpFile%  

Ablegen als Ordnerinhalt.cmd (oder einem Dateinamen deiner Wahl) im SendTo-Ordner.
Aufrufen: Verzeichnis markieren > Rechtsklick > Senden an

Den Dir-Befehl kannst du dir ja mit den Parametern deinen Wünschen anpassen.

Gruß
ollidolli
Member: thefreak
thefreak May 03, 2012 at 14:09:08 (UTC)
Goto Top
*LACHFREU*

Hallo und vielen herzlichen Dank!!
Da hatte ich ja einen völligen Irrweg eingschlagen.
So geht es - habe nun dir /b (damit ich wirklich nur die Dateinamen habe) und damit ist schon alles Bestens.
Die so gewonnen Daten werden zu Stücklisten weiterverarbeit - wenn ich mal wieder ganz viel Zeit habe dann werde ich das auch mal noch weiter "automatisieren" - mal sehen wie weit ich dann komme.

Also nochmals Danke - wünsche nen schönen "Resttag"

back-to-topGrüße Harry