Wenn Du bereits im Verzeichnis bist, musst Du einfach nur pdflatex mit dem Namen der gewünschten Datei aufrufen, da die Ausgabe immer in dem Verzeichnis erfolgt, in dem Du gerade bist:
Dabei sollte sich das Verzeichnis mit pdflatex und den ganzen anderen MiKTeX-Binaries unbedingt in PATH befinden.
Wenn Du sonst nichts in den Batch machst, ist es allerdings witzlos dafür ein Batch zu schreiben. Dann kannst Du pdflatex auch einfach direkt aufrufen.
Ansonsten ist es natürlich nicht sinnvoll als Parametern für --output-directory den Namen einer Datei zu verwenden. Das sollte ggf. eher der Pfad der Datei ohne den Dateinamen selbst sein. Man kann in dem Fall aber auch einfach in das entsprechende Verzeichnis wechseln. Ich glaube die BATCH-Syntax dafür wäre:
@REM In das Verzeichnis der übergebenen Datei wechseln
@REM und dort dann pdflatex für diese Datei aufrufen
set filepath="%1"
for %%f in (%%filepath) do set drivename=%%~df
for %%f in (%%filepath) do set dirname=%%~dpf
for %%f in (%%filepath) do set filename=%%~nxf
%%drivename:
cd %%dirname
pdflatex %%filename
Aber verlass Dich besser nicht darauf. Es ist Jahre her, dass ich BATCHs programmiert habe. Die Hilfe zu CMD und FOR geben ggf. mehr dazu her, wie man das mit der Ermittlung von Laufwerk, Verzeichnis und Dateinamen richtig macht. Mit XSET statt SET geht das AFAIK auch direkt, also ohne FOR-Umweg.
Vermutlich wäre das ein guter Zeitpunkt zur PowerShell zu wechseln oder sich etwas wie MinSYS (einschließlich bash) zu besorgen.
Wenn Du bereits im Verzeichnis bist, musst Du einfach nur pdflatex mit dem Namen der gewünschten Datei aufrufen, da die Ausgabe immer in dem Verzeichnis erfolgt, in dem Du gerade bist: [code]pdflatex %1[/code]
Dabei sollte sich das Verzeichnis mit pdflatex und den ganzen anderen MiKTeX-Binaries unbedingt in PATH befinden.
Wenn Du sonst nichts in den Batch machst, ist es allerdings witzlos dafür ein Batch zu schreiben. Dann kannst Du pdflatex auch einfach direkt aufrufen.
Ansonsten ist es natürlich nicht sinnvoll als Parametern für --output-directory den Namen einer Datei zu verwenden. Das sollte ggf. eher der Pfad der Datei ohne den Dateinamen selbst sein. Man kann in dem Fall aber auch einfach in das entsprechende Verzeichnis wechseln. Ich glaube die BATCH-Syntax dafür wäre: [code]@REM In das Verzeichnis der übergebenen Datei wechseln
@REM und dort dann pdflatex für diese Datei aufrufen
set filepath="%1"
for %%f in (%%filepath) do set drivename=%%~df
for %%f in (%%filepath) do set dirname=%%~dpf
for %%f in (%%filepath) do set filename=%%~nxf
%%drivename:
cd %%dirname
pdflatex %%filename[/code]
Aber verlass Dich besser nicht darauf. Es ist Jahre her, dass ich BATCHs programmiert habe. Die Hilfe zu CMD und FOR geben ggf. mehr dazu her, wie man das mit der Ermittlung von Laufwerk, Verzeichnis und Dateinamen richtig macht. Mit XSET statt SET geht das AFAIK auch direkt, also ohne FOR-Umweg.
Vermutlich wäre das ein guter Zeitpunkt zur PowerShell zu wechseln oder sich etwas wie MinSYS (einschließlich bash) zu besorgen.