Seite 1 von 1

Parameter an Powershell/cmd zurück geben

Verfasst: 17.01.2021 13:24
von haggi
Hallo liebes Foum,

ich möchte ein von mir erstelltes Programm per Powershell anstarten und beim beenden von meinem Programm einen Parameter an das Skript übergeben.

Wie kann ich dasss den Realisieren? gibt es da einen Befehl den ich noch nicht gefunden habe? muss ich das über die stdout machen, wenn ja wie? oder geht das anderst?

Ich habe bereits gesucht, aber leider bisher nichts gefunden was mir so richtig weiter hilft.

Die Console befehle scheinen mir da nicht weiter zu helfen, da diese ja für die CMD gedacht sind und PB ein seperates Fenster dafür öffnet. seh ich das richtig?

Besten Dank bereits im Vorraus für eure Mühe!

Haggi

Re: Parameter an Powershell/cmd zurück geben

Verfasst: 17.01.2021 15:57
von Sicro
Test.exe (kompiliert als Console-Programm):

Code: Alles auswählen

OpenConsole()
Print("Parameter1 Parameter2")
Powershell-Code:

Code: Alles auswählen

$parameter = $(Pfad_zur_Test.exe)
In der Variable $parameter steht dann "Parameter1 Parameter2".

Weitere Informationen findest du hier:
https://superuser.com/questions/1137190 ... ws/1376771

Re: Parameter an Powershell/cmd zurück geben

Verfasst: 17.01.2021 23:36
von haggi
Hallo Sicro,

komisch hatte ich eigentlich getestet. Vielen Dank für deine Hilfe!

kann ich das auch ohne Console-Programm machen? da ich eine GUI anzeigen möchte. Sorry hatte ich im ersten Post nicht geschrieben!

Danke für deine Mühe!

Haggi

Re: Parameter an Powershell/cmd zurück geben

Verfasst: 18.01.2021 00:46
von Sicro
OpenConsole() hat im obigem Code noch gefehlt.

J̶a̶,̶ ̶o̶h̶n̶e̶ ̶C̶o̶n̶s̶o̶l̶e̶ ̶f̶u̶n̶k̶t̶i̶o̶n̶i̶e̶r̶t̶ ̶e̶s̶ ̶a̶u̶c̶h̶,̶ ̶a̶b̶e̶r̶ ̶b̶e̶d̶e̶n̶k̶e̶,̶ ̶d̶a̶s̶s̶ ̶d̶a̶s̶ ̶S̶k̶r̶i̶p̶t̶ ̶w̶a̶r̶t̶e̶t̶ ̶b̶i̶s̶ ̶d̶a̶s̶ ̶P̶r̶o̶g̶r̶a̶m̶m̶ ̶(̶i̶m̶ ̶B̶e̶i̶s̶p̶i̶e̶l̶ ̶"̶T̶e̶s̶t̶.̶e̶x̶e̶"̶)̶ ̶b̶e̶e̶n̶d̶e̶t̶ ̶w̶u̶r̶d̶e̶.̶

Edit: Geht doch nicht ohne Console :coderselixir:

Re: Parameter an Powershell/cmd zurück geben

Verfasst: 18.01.2021 11:17
von haggi
Hi Sicro,

ja das mit dem skript ist klar und möchte ich genau so haben ;)

Komisch ist, das ich das so getestet hatte ... aber ich teste es nochmal!

Danke nochmal!

Re: Parameter an Powershell/cmd zurück geben

Verfasst: 18.01.2021 13:51
von NicTheQuick
Dein Purebasicprogramm kann auch Exitcodes zurückgeben, falls dir eine einfache Zahl reicht:

Code: Alles auswählen

End 104
Keine Ahnung wie das dann in Powershell aussehen muss. Vielleicht so?

Code: Alles auswählen

PurebasicProgramm.exe
Write-Output $LASTEXITCODE

Re: Parameter an Powershell/cmd zurück geben

Verfasst: 20.01.2021 20:00
von Sicro
@haggi:
Sorry, geht doch nicht ohne Executable-Format "Console". Das habe ich wohl beim Testen eingestellt gelassen, als ich den OpenWindow()-Code eingebaut habe.
GUI kannst du mit Executable-Format "Console" aber trotzdem anzeigen lassen.
Übrigens kannst du auch das Dollarzeichen weglassen, wie ich gerade herausgefunden habe:

Code: Alles auswählen

$parameter = (Pfad_zur_Test.exe)
@NicTheQuick:

Code: Alles auswählen

$process = (Start-Process -FilePath "Pfad_zur_Test.exe" -PassThru -Wait)
echo $process.ExitCode

Re: Parameter an Powershell/cmd zurück geben

Verfasst: 31.01.2021 17:41
von haggi
Hi Ihr beiden,

erst mal Sorry für die verspätete Antowort von mir!

Sicro, du hast das unter win7 getestet? bei win10h2 hat das leider nicht geklappt. hab deine vorlage benutzt dafür.

@Nick Ja daran hab ich shcon gedacht, danke für den Hinweis! Es schränkt halt etwas ein ... daher wäre eine richtige Ausgabe natürlich besser. aber das geht auch so.

Liebe Grüße und Danke für eure Bemühungen.

Haggi

Re: Parameter an Powershell/cmd zurück geben

Verfasst: 01.02.2021 01:02
von Sicro
haggi hat geschrieben:Sicro, du hast das unter win7 getestet? bei win10h2 hat das leider nicht geklappt. hab deine vorlage benutzt dafür.
Ja, für Windows-Sachen verwende ich immer die in meiner Signatur erwähnte Windows-Version, falls ich keine andere Version in meinem Beitragstext nenne.

Schade, dass es bei dir nicht funktioniert. Versuche mal das:

Code: Alles auswählen

$cmdOutput = <Pfad_zu_Test.exe> | Out-String
Weitere Informationen findest du hier:
https://stackoverflow.com/questions/809 ... n-powershe