none
Funktion aufrufen wenn nur der Funktionsname bekannt ist (z. B. als parameter) RRS feed

  • Frage

  • Ich erhalte in einer Skript-Funktion als Parameter einen Funktionsnamen  (string) und möchte diese übergebene Funktion aufrufen. Die Funktion ist natürlich in meiner Umgebung in einem installierten Modul erreichbar. Gibt es hierzu eine Möglichkeit? Ich kenne solche Möglichkeiten in anderen Sprachen, z. B. startet &(function-name) die Funktion mit dem Namen function-name.

    Meine Umgebung ist VSCode mit Powershell 7 unter Windows 10.

    Danke für jeden Tipp

    Donnerstag, 1. April 2021 14:46

Antworten

  • Hi,

    Danke für Deine Info, ich habe es mittlerweile ausgegraben.

    Beispiel: es gibt die Funktion HalloTest.

    Mein Skript hat eine Variable $XXX mit Inhalt "HalloTest" und soll jetzt diese Funktion aus dem Code heraus aufrufen. Ich habe es jetzt herausgefunden. Der Aufruf lautet: &XXX "Irgendwas".

    In der Console erscheint jetzt: "Hallo Test => Irgendwas"

    function HalloTest {

        param(
            [string$Message
            
        )
        Write-Host "Hallo Test => " + $Message
    }

    beste Grüße

    Michael

    • Als Antwort markiert ebhab Donnerstag, 8. April 2021 17:08
    Donnerstag, 1. April 2021 15:47

Alle Antworten

  • Hi,

    da das für mich nicht ganz klar aus deiner Beschreibung hervorgeht: Du willst das in einem Powershell 7 Skript machen?

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport


    Donnerstag, 1. April 2021 15:06
    Moderator
  • Hi,

    Danke für Deine Info, ich habe es mittlerweile ausgegraben.

    Beispiel: es gibt die Funktion HalloTest.

    Mein Skript hat eine Variable $XXX mit Inhalt "HalloTest" und soll jetzt diese Funktion aus dem Code heraus aufrufen. Ich habe es jetzt herausgefunden. Der Aufruf lautet: &XXX "Irgendwas".

    In der Console erscheint jetzt: "Hallo Test => Irgendwas"

    function HalloTest {

        param(
            [string$Message
            
        )
        Write-Host "Hallo Test => " + $Message
    }

    beste Grüße

    Michael

    • Als Antwort markiert ebhab Donnerstag, 8. April 2021 17:08
    Donnerstag, 1. April 2021 15:47