Button command: Parameterübergabe scheitert. Quoting?

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Button command: Parameterübergabe scheitert. Quoting?

Post by *Peter »

Vorgeschichte:
Ich habe ein Programm, dass startet man mit

Code: Select all

"C:\Program Files\Splot64\SPLOTW64.EXE"
Gut. Mit Datei zum Öffnen startet man so:

Code: Select all

"C:\Program Files\Splot64\SPLOTW64.EXE" c:\test\x.plt"
Keine grosse Überraschung - auch gut.
Dann gibt es noch den "Batchmodus" (eine Art Nebenprogramm), das startet man so:

Code: Select all

"C:\Program Files\Splot64\SPLOTW64.EXE" /BAT:
Und möchte man den Batchmodus mit einer Konfiguration starten, dann so:

Code: Select all

"C:\Program Files\Splot64\SPLOTW64.EXE" "/BAT:c:\test\hallo.lst"
Frage:
Jetzt möchte ich mir einen Button machen, auf den ich die LST-Dateien (einzeln) werfen kann, damit der Batchmodus in verschiedenen Varianten gestartet wird. Hier meine Versuche und Ergebnisse:

Funktioniert mit eindeutiger Datei (ist aber kein Droppen wie eigentlich geplant)

Code: Select all

TOTALCMD#BAR#DATA
"C:\Program Files\Splot64\SPLOTW64.EXE"
"/BAT:x:\Daten\Projekte\2_Laufend\Eigenes\Plotten\start.lst"
C:\Program Files\Splot64\SPLOTW64.EXE
SPLOTW64 Batch
C:\Program Files\Splot64\

-1
Funktioniert als Start des Programms, aber ohne Dateiparameter für die "gedroppte" Konfigurationsdatei

Code: Select all

TOTALCMD#BAR#DATA
"C:\Program Files\Splot64\SPLOTW64.EXE" /BAT:
%P%N
C:\Program Files\Splot64\SPLOTW64.EXE
SPLOTW64 Batch
C:\Program Files\Splot64\

-1
Batchparameter wird ignoriert, das Hauptprogramm startet und versucht die Steuerdatei zu öffnen (anstatt das der Batchmodus startet und die Steuerdatei anwendet). Hochkomma und Leerstelle in diversen Varianten wurden schon ausprobiert.

Code: Select all

TOTALCMD#BAR#DATA
"C:\Program Files\Splot64\SPLOTW64.EXE"
/BAT:%P%N
C:\Program Files\Splot64\SPLOTW64.EXE
SPLOTW64 Batch
C:\Program Files\Splot64\

-1
Gibt es einfache Lösungsansätze?

Peter
TC 10.xx / #266191
Win 10 x64
User avatar
Stefan2
Power Member
Power Member
Posts: 4281
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

Vielleicht:

"C:\Program Files\Splot64\SPLOTW64.EXE"
/BAT:"""%P%N"""



.
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

danke, aber : leider nein. Alle Befehle lösen das Hauptprogramm aus
TC 10.xx / #266191
Win 10 x64
User avatar
Stefan2
Power Member
Power Member
Posts: 4281
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

Dann hilft wohl nur eine zwischen geschaltete Batch?


TC command
CMD: "D:\rive\path to\batch.cmd"
PAR: %P%N


BATCH.cmd
@ECHO OFF
REM Und möchte man den Batchmodus mit einer Konfiguration starten, dann so:
REM "C:\Program Files\Splot64\SPLOTW64.EXE" "/BAT:c:\test\hallo.lst"
SET PARAM=%~1
START "" "C:\Program Files\Splot64\SPLOTW64.EXE" "/BAT:%PARAM%"



.
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

Ja, klappt. Crazy :D

Danke.
TC 10.xx / #266191
Win 10 x64
User avatar
Stefan2
Power Member
Power Member
Posts: 4281
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

Hurra :D


TC hat halt einerseits seine Regeln fürs Quoting und wie er CMD und PARA zusammenbastelt,
und beim empfangenden Programm kommt es auf die Programmiersprache (und sogar den Compiler) an, welche Quotingregeln es hat.

Ein zwischengeschaltenes Skript hilft hier oft als quasi Dolmetscher (oder Konverter) aus der Not.


Am Ende ist man einfach nur froh das es funktioklappt.

 
Post Reply