Robmantuto 1 Geschrieben 28. Oktober 2016 Melden Teilen Geschrieben 28. Oktober 2016 Neuer Thread, neuer Versuch. Wie schon in meinem anderen Beitrag erwähnt, hätte ich gerne eine Art Menü mit Auswahl an Befehlen. Entweder mit einem Extra-Fenster oder als Auswahl mit Zahlen. Habe jetzt ein Beispiel für ein Menü mit zwei Auswahlmöglichkeiten, nur mein Problem ist, wie bleibe ich Menü, sodass ich weitere Befehle ausführen kann? Und ein Fertig oder Exit Button, wenn man fertig ist. $Title = "Auswahl" $Message = "Wählen Sie aus" $Windows10 = New-Object System.Management.Automation.Host.ChoiceDescription "&Windows 10", ` "Windows 10 " $MacOSX = New-Object System.Management.Automation.Host.ChoiceDescription "&MacOSX", ` "MacOSX" $Options = [System.Management.Automation.Host.ChoiceDescription[]]($Windows10, $MacOSX) $SelectOS = $host.ui.PromptForChoice($title, $message, $options, 0) switch($SelectOS) { 0 {Write-Host "You love Windows 10!"} 1 {Write-Host "You must be an Apple fan boy"} } Zitieren Link zu diesem Kommentar
NilsK 2.958 Geschrieben 28. Oktober 2016 Melden Teilen Geschrieben 28. Oktober 2016 Moin, für Applikationen mit typischen grafischen Oberflächen ist PowerShell eigentlich nicht das Mittel der Wahl. Der Fokus der PowerShell liegt auf Automatisierung und auf Interaktion per Kommandozeile. Wenn du das ernsthaft auf dieser Plattform verfolgen willst, solltest du dir ISESteroids ansehen, da gibt es eine recht gute Unterstützung für sowas. Aber sei dir bewusst, das ist wirklich nichts für Scripting-Anfänger. http://www.powertheshell.com/ Gruß, Nils Zitieren Link zu diesem Kommentar
Robmantuto 1 Geschrieben 28. Oktober 2016 Autor Melden Teilen Geschrieben 28. Oktober 2016 Ok, dann sowas: while(($inp = Read-Host -Prompt "Wählen Sie einen Befehl") -ne "Q"){switch($inp){L {"Datei wird gelöscht"}A {"Datei wird angezeigt"}R {"Datei erhält Schreibschutz"}Q {"Ende"}default {"Ungültige Eingabe"}}} Zitieren Link zu diesem Kommentar
NilsK 2.958 Geschrieben 28. Oktober 2016 Melden Teilen Geschrieben 28. Oktober 2016 Moin, ja, das wäre eine simple Variante. So ähnlich habe ich das auch bei einem großen Skript gelöst. Gruß, Nils Zitieren Link zu diesem Kommentar
testperson 1.708 Geschrieben 28. Oktober 2016 Melden Teilen Geschrieben 28. Oktober 2016 Hi, bei sowas empfiehlt es sich vor dem switch ($inp = $inp.ToUpper) oder beim switch (switch($inp.ToUpper)) zu machen. Ob das in PowerShell so direkt richtig ist, müsstest du testen, aber der Sinn dahinter sollte rübergekommen sein ;) Gruß Jan Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 28. Oktober 2016 Melden Teilen Geschrieben 28. Oktober 2016 Bekommt ihr alle Provision bei den Herstellen? ISE Steroids und Powershell Studio sind ja nicht gerade Schnäppchen. Die Tools sind gut, keine Frage und den Preis mit Sicherheit auch wert, aber vielleicht tastet sich ein Anfänger auch erstmal langsam ran ..... :-/ Um Dein Menü / Deine Auswahl wiederholt anzuzeigen bzw. nicht zu verlassen, kannst Du das Ganze in eine Schleife verpacken, deren Abbruchbedingung Du dann als weiteren Auswahlpunkt angeben kannst. $Title = "Auswahl" $Message = "Wählen Sie aus" $Windows10 = New-Object System.Management.Automation.Host.ChoiceDescription "&Windows 10", "Windows 10 " $MacOSX = New-Object System.Management.Automation.Host.ChoiceDescription "&MacOSX", "MacOSX" $Abbruch = New-Object System.Management.Automation.Host.ChoiceDescription "&Abbruch", "Abbruch" $Options = [System.Management.Automation.Host.ChoiceDescription[]]($Windows10, $MacOSX, $Abbruch) do { $SelectOS = $host.ui.PromptForChoice($title, $message, $options, 0) switch($SelectOS) { 0 {Write-Host "You love Windows 10!"} 1 {Write-Host "You must be an Apple fan boy"} 2 {Write-Host "Danke und Tschüß ...";Start-Sleep -Seconds 3} } } While ($SelectOS -ne 2) Wenn Du das Ganze in der Powershell_ISE startest, bekommst Du die Auswahl sogar als kleine grafische Popup-Dialogbox angezeigt. Zitieren Link zu diesem Kommentar
testperson 1.708 Geschrieben 28. Oktober 2016 Melden Teilen Geschrieben 28. Oktober 2016 Es wurde oben ja bereits erwähnt, dass die PS dafür eher bedingt geeignet ist. Und wenn man schon etwas eher falsch macht, dann sollte man es zumindest richtig machen ;) Sofern es um "kleine" Helferlein / Tools mit GUI geht, würde ich eher Richtung VB .Net (o.ä.) tendieren. Da gibt es dann auch z.B. Visual Studio Express oder SharpDevelop als IDE. Als Anfänger dürfte man auch mit VB .Net (und GUI) schneller zurecht kommen wie mit der PowerShell. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 28. Oktober 2016 Melden Teilen Geschrieben 28. Oktober 2016 (bearbeitet) Visual Studio Express gibt es meines Wissens nach nicht mehr. Dafür bekommt man jetzt Visual Studio Community! ... und dann würde ich auch eher C# statt VB .Net empfehlen. bearbeitet 28. Oktober 2016 von BOfH_666 Zitieren Link zu diesem Kommentar
testperson 1.708 Geschrieben 28. Oktober 2016 Melden Teilen Geschrieben 28. Oktober 2016 ... und dann würde ich auch eher C# statt VB .Net empfehlen. Wir finden bestimmt auch noch Leute die irgendetwas aus dieser Liste empfehlen: https://de.wikipedia.org/wiki/Liste_von_Programmiersprachen ;) Zitieren Link zu diesem Kommentar
daabm 1.366 Geschrieben 29. Oktober 2016 Melden Teilen Geschrieben 29. Oktober 2016 Naja Batch wäre doch ganz brauchbar für den Anfang Spaß beiseite: "Nicht gerade Schnäppchen" ist sehr relativ. Sowohl ISESteroids als auch PS Studio sind eher Nischenprodukte, und wenn Du genau das brauchst, was sie bieten, dann finde ich beide sehr günstig. Zitieren Link zu diesem Kommentar
NilsK 2.958 Geschrieben 30. Oktober 2016 Melden Teilen Geschrieben 30. Oktober 2016 (bearbeitet) Moin, Bekommt ihr alle Provision bei den Herstellen? ISE Steroids und Powershell Studio sind ja nicht gerade Schnäppchen. nur, damit sich hier aufgrund solcher Unterstellungen keine falschen Eindrücke verfestigen: Nein, wir bekommen keine Provision. Wir gehen aber i.d.R. davon aus, dass Anfragen in diesem Board mit einem professionellen Hintergrund gestellt werden. Und wenn sich dann eine Aufgabe mit einem bestimmten Werkzeug schneller oder besser lösen lässt als ohne, dann empfehlen wir das (sofern wir so ein Werkzeug kennen). Ein Unternehmen wird solche Fragen kaufmännisch beurteilen. So ist das auch hier. Langes Herumprobieren kostet oft viel Zeit, die schnell weit mehr umfasst als die (sehr moderaten) 100 EUR für das genannte Werkzeug. Ob ein "Anfänger" das beschafft, kann er ja selbst entscheiden. Ach, übrigens, der TO hatte sein Beispiel bereits als Schleife aufgebaut. ;) Gruß, Nils bearbeitet 30. Oktober 2016 von NilsK Zitieren Link zu diesem Kommentar
Dukel 455 Geschrieben 30. Oktober 2016 Melden Teilen Geschrieben 30. Oktober 2016 Es gibt noch ein Visual Studio Express. Zusätzlich gibt es die Community, die mehr kann, aber unter Umständen kommerziell nicht genutzt werden darf. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.