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

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

Printed on: April 20, 2024 at 01:04 o'clock

Member: bastla
bastla Aug 18, 2012 updated at 18:31:12 (UTC)
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
Member: OKIDOKI
OKIDOKI Aug 19, 2012 updated at 09:00:21 (UTC)
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
Member: bastla
bastla Aug 19, 2012 at 09:39:51 (UTC)
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
Member: OKIDOKI
OKIDOKI Aug 19, 2012 at 12:44:07 (UTC)
Goto Top
Hallo bastla,

ja, soll es face-wink

Echt cool, danke!
OKIDOKI