Powershell If-Schleife funktioniert nicht

Mitglied: windelterrorist

windelterrorist (Level 1) - Jetzt verbinden

10.12.2015, aktualisiert 16:56 Uhr, 1482 Aufrufe, 5 Kommentare

Hallo Admins


Arbeite gerade an einem kleinen Script... funktioniert aber nicht so, wie ich mir das vorstelle...


Mein Code:

switch ($auswahl = Read-Host "Drücken Sie die Nummer (1-4), um den gewünschten Menüpunkt auszuwählen") {
"1" {Write-Host "Menü 1 wurde ausgewählt." -f yellow}
"2" {Write-Host "Menü 2 wurde ausgewählt." -f yellow}
"3" {Write-Host "Menü 3 wurde ausgewählt." -f yellow}
"4" {Write-Host "Das Programm wird beendet ..." -f Yellow}
}

$pfad = "E:\test"
$date = Get-Date -Format d.MMMM.yyyy

if ($auswahl = "1") {
$ordnername = md "$pfad\menu1_$date"
}

elseif ($auswahl = "2") {
$ordnername = md "$pfad\menu2_$date"
}

elseif ($auswahl = "3") {
$ordnername = md "$pfad\menu3_$date"
}

else {
exit
}


Egal welchen Menüpunkt ich auswähle, er nimmt immer nur die 1. if-schleife, respektive erstellt den Ordner menu1_$date... verstehe nicht woran es liegt...


Gruss
windelterrorist
Mitglied: 122990
122990 (Level 2)
LÖSUNG 10.12.2015, aktualisiert um 16:56 Uhr
Das Gleichheitszeichen ist kein Vergleichsoperator in Powershell sondern nur ein Zuweisungsoperator !!
Für Gleichheit benutzt man -eq
Lese bitte https://technet.microsoft.com/en-us/library/hh847732.aspx

Und wieso machst du IF-Abfragen obwohl du schon mit Switch unterscheidest was der User gewählt hat ??

Wohl noch Anfänger ?

So einen Kandidaten hatten wir hier schonmal
https://www.administrator.de/forum/verschachtelte-abfrage-powershell-289 ...
Bitte warten ..
Mitglied: ITvortex
LÖSUNG 10.12.2015, aktualisiert um 16:56 Uhr
Hallo,

als was speicherst du deine Auswahl?
Als String?

String auf Gleicheit überprüfen machst du mit -eq
https://www.windowspro.de/script/vergleichsoperatoren-powershell-eq-lt-g ...

Und bitte if-Abfrage und keine if-schleife!

Liebe Grüße
ITvortex
Bitte warten ..
Mitglied: windelterrorist
10.12.2015, aktualisiert um 16:57 Uhr
Hallo grexit

Ja, noch Anfänger :) face-smile


Ich habe das nicht 1:1 von meinem Script übernommen, habe nur ein Beispiel gemacht... in meinem Script können die If-Abfragen noch gar nicht mit Switch abgefragt werden, da sich verschiedene If-Schleifen auf die Switch-Auswahl beziehen.

Aber danke für deine Hilfe, habe den Wald vor lauter Bäumen nicht mehr gesehen ... in meinem script kam -eq zuvor schon ca. 5 mal vor ...


Gruss
windelterrorist
Bitte warten ..
Mitglied: 122990
122990 (Level 2)
10.12.2015, aktualisiert um 16:58 Uhr
Zitat von @windelterrorist:
Ich habe das nicht 1:1 mit meinem Script übernommen, habe nur ein Beispiel gemacht...
Ja ja, das sagen sie hinterher alle :-D face-big-smile

Schönen Feierabend wenns soweit ist.
Gruß grexit
Bitte warten ..
Mitglied: windelterrorist
10.12.2015 um 16:58 Uhr
Haha, wenn du meinst :D

Danke nochmal, schönen Abend
Bitte warten ..
Heiß diskutierte Inhalte
Hyper-V
Spricht was gegen die Virtualisierung mit Hyper-V?
bauinformatikerVor 1 TagFrageHyper-V32 Kommentare

Seit 10 Jahren betreiben mein Kollege und ich 2 Hosts mit ESXi. Nun sollen die neu beschafft und neu installiert werden. Bis auf einen ...

Grafikkarten & Monitore
Großeinkauf für Ultrawide Monitore - USB-C - RJ45 - Dockingstation Ersatz
GoldfuchsVor 1 TagFrageGrafikkarten & Monitore12 Kommentare

Grüße an die Community lang nicht mehr gehört ;) Ich bin auf der Suche nach Ultrawide Monitoren mit einer Mindestgröße von 34" und Maximalgröße ...

Off Topic
Vom IT-Systemelektroniker zurück zur "IT"
xsheynVor 1 TagFrageOff Topic8 Kommentare

Schönen guten Abend, vor einigen Wochen hatte ich schonmal einen Thread erstellt, dass ich IT-Systemelektroniker bin aber kaum Erfahrung in der "Typischen IT" habe. ...

Entwicklung
Plattformübergreifende Programmierung mit Visual Studio
gelöst nagitaVor 1 TagAllgemeinEntwicklung11 Kommentare

Hallo ich habe mir vor einiger Zeit die aktuellste Version von Visual Studio installiert und bin eigentlich auch recht zufrieden damit. Ich habe vor, ...

Datenbanken
Liste als PDF ausdrucken
jensgebkenVor 1 TagFrageDatenbanken6 Kommentare

Hallo Gemeinschaft, Ich habe eine Access Datenbank und darin eine Abfrage in der Kunden Adressen und Kosten angezeigt werden pro Kunde. Nun möchte ich, ...

Exchange Server
Postfach für öffentliche Ordner ist voll
gelöst Tommy525600Vor 21 StundenFrageExchange Server6 Kommentare

Hallo an alle, ich habe folgendes Problem: Mein primäres Postfach für öffentliche Ordner ist voll (99,58 GB) (und ja, ich kann auch nix dafür). ...

Video & Streaming
Netzwerkspeicher IPTV
uridium69Vor 1 TagFrageVideo & Streaming6 Kommentare

Hallo Ich möchte gerne meine beiden Android IPTV Receiver das NAS als Netzwerkspeicher und als Aufnahmemedium hinzufügen, ich habe unter den Optionen "Netzwerkspeicher hinzufügen" ...

Outlook & Mail
Outlook export to PST schlägt fehl - Alternativen?
gelöst StefanKittelVor 1 TagFrageOutlook & Mail3 Kommentare

Hallo, ich versuche gerade ca. 20 Postfächer von einem Hosted Exchange-Anbieter in PST-Dateien zu sichern/archivieren. Bei 3 Postfächer schläft dies mit "unbekannter Fehler" fehl. ...