Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich versuche einen String in Powershell zusammen zu bauen, in dem ein Command-Line Pfad enthalten ist, d.h.

ein Pfad zu einer Exe (die unter Program Files liegt) und die Exe muss noch mehrere Argumente erhalten. Den Pfad erstelle ich mit Join-Path und dann mache ich eine Stringverknüpfung, leider habe ich Probleme, wenn der Pfad Leerzeichen enthält z.B. sieht mein Commando dann so aus: C:\Program Files\Program\run.exe -abcd -config"

Wie kann ich einen korrekten Pfad zu dem Programm erzeugen und dahinter die Argumente korrekt angeben und das ganze in einem String speichern, der dann das Kommando richtig maskiert enthält.

Danke

fpx

Geschrieben

Ich bekomme leider keine lauffähige Version hin. Ich habe folgenden Code


$mycmd = call-some-function

call-some-other-function $mycmd

Ich muss jetzt in $mycmd den String richtig escapen einfach ein $mycmd = &$mycmd hat nicht funktioniert.

Geschrieben
wenn du dein command als parameter übergibst, musst du es klammern, damit der ausdruck zuerst ausgeführt wird.

Ich hatte versucht


$mycmd = call-some-function

$mycmd = &mycmd

call-some-other-function $mycmd

leider ohne Erfolg

Geschrieben (bearbeitet)

Ich versuche aktuell ein Invoke-Command durchzuführen. Der String enthält folgendes:


C:\Users\devJenkins\nssm.exe install devJenkins C:\Program Files\Java\jre7\bin\java.exe

Der String sieht wie folgt aus:

"$nssm install devJenkins $java"

$nssm wird vorher definiert und $java wird aus der installLocation Eigenschaft des Installationseintrages ermittelt. Wenn ich es mit & versuche auszuführen, dann erhalte ich die Meldung:

& : Die Benennung "C:\Users\devJenkins\nssm.exe install devJenkins C:\Program Files\Java\jre7\bin\java.exe"

wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt.

Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den

Vorgang.

Diese Meldung erscheint auch, wenn ich Singlequotes nehme Mach ich das Commando mittels invode:

Invoke-Command : Der Parametersatz kann mit den angegebenen benannten Parametern nicht aufgelöst werden.

Letzter Fehler ist klar, weil das Leerzeichen bei der Java-Pfadangabe als Seperator für die Parameter dient.

Bearbeitet von flashpixx

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...