okidoki
Goto Top

Batch Eigenen Dateinamen auslesen und als Sprungmarke nutzen

Guten Abend,
habe leider trotz Suche noch nichts Brauchbares gefunden...

ich möchte gerne den eigenen Dateinamen auslesen und als Sprungmarke einer anderen bat verwenden. Mener tuts bisher net ...:


 
For /F %%i in ('dir /B *.txt') do set Datei=%%~ni  
start beispiel.bat %Datei%


Dankeschön!
OKIDOKI

Content-ID: 189808

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

Ausgedruckt am: 19.11.2024 um 17:11 Uhr

bastla
bastla 18.08.2012 aktualisiert um 20:31:12 Uhr
Goto Top
Hallo OKIDOKI!

Leider verstehe ich nicht wirklich, was Du meinst (und das bezieht sich nicht nur auf die Fehlerbeschreibung "Meiner tuts bisher net") - auch, wenn ich "Sprungmarke" durch "Aufrufparameter" ersetzte ...

... anyhow: Falls "Eigener Dateiname" sich auf den Batch selbst bezieht, kannst Du nach Bedarf "%~n0", "%~nx0" oder "%~f0" verwenden ...
Was Deinen Ansatz oben angeht: Selbst, wenn Du wirklich nur die einzige Textdatei des aktuellen Ordners finden und weiter verarbeiten wolltest, würde ich zumindest für Leerzeichen vorsorgen:
For /F "delims=" %%i in ('dir /B *.txt') do set "Datei=%%~ni"  
start beispiel.bat "%Datei%"  
- dass damit nur der Name, aber nicht der Typ (".txt") an "beispiel.bat" übergeben wird (ansonsten könntest Du auch gleich "%%i" verwenden), ist hoffentlich Absicht; ob das auch für "start" gilt, wäre noch zu hinterfragen ...

Grüße
bastla
OKIDOKI
OKIDOKI 19.08.2012 aktualisiert um 11:00:21 Uhr
Goto Top
Hallo bastla,

natürlich ist das mit der *.txt Quatsch, habe nachlässig gearbeitet...

Allerdings hast du mir trotzdem super geholfen, da allein die Umbenennung in meinem ersten Code von txt in bat nichts gebracht hat. Die Lösung lag in deinem anyhow-Hinweis und deshalb stelle ich sie für Interessierte ein. Bei mir funktioniert sie jetzt prima!!!
Danke an bastla face-wink

For /F "delims=" %%i in ('dir /B *.bat') do set "Datei=%~n0"  
beispiel.bat "%Datei%"  

Gruß OKIDOKI
bastla
bastla 19.08.2012 um 11:39:51 Uhr
Goto Top
Hallo OKIDOI!

Wenn tatsächlich nur der Name des Batches an "beispiel.bat" übergeben werden soll, genügt:
beispiel.bat "%~n0"
- die Schleife ist schlicht überflüssig ...

Grüße
bastla
OKIDOKI
OKIDOKI 19.08.2012 um 14:44:07 Uhr
Goto Top
Hallo bastla,

ja, soll es face-wink

Echt cool, danke!
OKIDOKI