Seite 1 von 1

Commandline, kompletter Parameter

Verfasst: 26.09.2012 10:06
von lite
Hallo

Wie bekomme ich den kompletten Parameter zur Weiterverarbeitung ?
Ich benötige den originalen String, mit Anführungszeichen """
MyProgram.exe MyText.txt /FAST "Special Mode"

Beispiel:
"Special Mode" = komplett mit (")

Grüsse

Lite

Re: Commandline, kompletter Parameter

Verfasst: 26.09.2012 10:22
von Kiffi
Windows only:

Code: Alles auswählen

Debug PeekS(GetCommandLine_())
Grüße ... Kiffi

Re: Commandline, kompletter Parameter

Verfasst: 26.09.2012 15:26
von bobobo
mit PB ginge das auch so

Code: Alles auswählen

Macro dingel(tmp)
  If FindString(tmp," ")
    tmp=Chr(34)+tmp+Chr(34)
  EndIf
EndMacro

For c=0 To CountProgramParameters()-2
  tmp.s=ProgramParameter(c)
  dingel(tmp)
  ganzeZeile.s+tmp+" "
Next

tmp.s=ProgramParameter(c)
dingel(tmp)
ganzeZeile.s+tmp
Debug ">"+ganzeZeile+"<"
oder so

Code: Alles auswählen

Procedure.s chck34(tmp.s)
  If FindString(tmp," ")
    tmp=Chr(34)+tmp+Chr(34)
  EndIf
  ProcedureReturn tmp
EndProcedure

For c=0 To CountProgramParameters()-2
  tmp.s=ProgramParameter(c)
  tmp=chck34(tmp)
  ganzeZeile.s+tmp+" "
Next

tmp.s=ProgramParameter(c)
tmp=chck34(tmp)

ganzeZeile.s+tmp
Debug ">"+ganzeZeile+"<"


Re: Commandline, kompletter Parameter

Verfasst: 27.09.2012 09:52
von lite
Hallo,

zuerst mal Danke für die Antworten.

Die Lösung von "Kiffi" gefällt mir sehr gut, jetzt muss ich nur noch das Richtige herausfiltern.

@bobobo

Deine Beispielcodes funktioniert nicht 100%, es werden teilweise " - Zeichen verschluckt.

Grüße

lite

Re: Commandline, kompletter Parameter

Verfasst: 27.09.2012 15:17
von bobobo
klar , wenn die " ohne Leerzeichen im String gesetzt werden.
siehe code

aber in dem Fall könnten die " auch für die eigentliche Weiterverarbeitung egal sein.

ansonsten bleibt ja noch der Kiffische Ansatz