Gleichheitszeichen in Parameterliste für Buttonbar-Befehl

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
User avatar
CSe
Senior Member
Senior Member
Posts: 233
Joined: 2003-04-07, 08:28 UTC
Location: Deutschland, NRW

Gleichheitszeichen in Parameterliste für Buttonbar-Befehl

Post by *CSe »

Hi!

Ich wollte mir einen Befehl in die Buttonbar legen. Allerdings bekommt dieser Befehl u.a. einen Parameter, in dem ein Gleichheitszeichen = vorkommt. Irgendwie funktioniert das nicht, denn das Gleichheitszeichen kommt nicht im Programmaufruf an, sondern wird durch ein Leerzeichen ersetzt.

Über eine .cmd habe ich versucht zu debuggen, indem ich mir per ECHO die Parameter ausgeben lasse, die an die .cmd gegeben werden. Statt key=value gibt die .cmd nur key value aus. Die Übergabe eines gequoteten Gleichheitszeichens \= hat ebenfalls nicht funktioniert.

Setze ich die gesamte Parameterliste (ohne %N) in Anführungszeichen, kommt das = zwar an, aber die Anführungszeichen sind auch enthalten. :roll:

Im Moment habe ich mir mit einer .cmd beholfen, in der die Parameter fix drinstehen und die nur den Dateinamen %N von der Buttonbar erhält:

Code: Select all

@ECHO OFF
programm.exe key=value %1
Das kann's doch aber auch nicht sein, oder? :(

Gibt's einen Trick, damit

Code: Select all

Kommando: programm.exe
Parameter: key=value %n
für den Buttonbar-Eintrag funktioniert?
Viele Grüße

Christian
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1052
Joined: 2004-07-29, 11:00 UTC

Post by *ZoSTeR »

Gleichheitszeichen werden grundsätzlich nicht an Batchdateien übergeben. Siehe MS KB503001.

TC übergibt den Parameter jedoch intakt an andere Programme.

Hier nen AutoIt-Sample zum Testen:

Code: Select all

$Anzahl = $CmdLine[0]
If $Anzahl > 0 Then
   $String = "Anzahl: " & $Anzahl
   For $i = 1 to $Anzahl
      $String = $String & @CRLF & $CmdLine[$i]
   Next
Else
   $String = "Keine Parameter"
EndIf
msgbox(4096,"Parameter",$String)

Zum Ausführen ginge dies:

Code: Select all

Run("MeineEXE.exe " & $CmdLineRaw)
Dies sollte allerdings bei nem direkten Aufrufen deiner Ziel-Exe nicht notwendig sein.
Last edited by ZoSTeR on 2006-12-01, 09:27 UTC, edited 1 time in total.
User avatar
CSe
Senior Member
Senior Member
Posts: 233
Joined: 2003-04-07, 08:28 UTC
Location: Deutschland, NRW

Post by *CSe »

ZoSTeR wrote:Gleichheitszeichen werden grundsätzlich nicht an Batchdateien übergeben.
Siehe MS KB503001
Ah ja, das wusste ich beispielsweise nicht, obwohl ich das Zeug schon lange genug nutze. Vielen Dank für die Information. Das hätte ich auch selbst suchen können/müssen. *vordiestirnschlag*
ZoSTeR wrote:In deinem Fall könnte ein Wrapper in AutoIt oder einer anderen Skriptsprache helfen.
Aha, danke sehr. Gleich mal bei den Tipps abspeichern.
Viele Grüße

Christian
Post Reply