crazyhoesl
Goto Top

If-Schleife vereinfachen

Hallo,

bekomme ich folgende IF-Schleife auch irgendwie hin so dass read-host "Receiver-Mail Addr" und read-host "Sender-Mail Addr" nicht jeweils zweimal vorkommen müssen?
Ist übrigens der Anfang eines Powershell Scripts, hier wird abgefragt nach was der Benutzer suchen möchte, nach Empfänger-Mail-Adresse, Absender-Mail-Adresse, oder nach beidem..

Und Schleifen sind einfach nicht so mein Ding...

$strDecisionQuery = read-host "Search for (s)ender (a)nd/or (r)ecipient ?"  


if ($strDecisionQuery -ceq "s")  

	{
	$strSenderAddr        = read-host "Sender-Mail Addr"  
	}	
		
elseif ($strDecisionQuery -ceq "a")  
		
	{
	$strRecipientAddr     = read-host "Receiver-Mail Addr"  
	$strSenderAddr        = read-host "Sender-Mail Addr"  
	}
	
elseif ($strDecisionQuery -ceq "r")  

	{
	$strRecipientAddr     = read-host "Receiver-Mail Addr"  
	}

Content-ID: 117683

Url: https://administrator.de/forum/if-schleife-vereinfachen-117683.html

Ausgedruckt am: 23.12.2024 um 14:12 Uhr

h1e15
h1e15 08.06.2009 um 10:40:25 Uhr
Goto Top
Heyho ...
...erstmal die Frage warum das nicht zweimal vorkommen soll?
Ich hab mir das nun einige Minuten angeguckt und bissl überlegt, aber das ist definitiv die einfachste methode und mir fällt auch keine alternative im moment ein.

Du könntest eventuell noch ne einfach else hinten dran hängen um zu definieren was passiert wenn der user was anderes drückt, anstatt s, a oder r ;)

mfg h1e
77559
77559 08.06.2009 um 10:59:09 Uhr
Goto Top
Moin, ohne Kommentar.
$strDecisionQuery = read-host "Search for (s)ender (a)nd/or (r)ecipient ?"  

if ($strDecisionQuery -match  "[as]")  
	{
	$strSenderAddr        = read-host "Sender-Mail Addr"  
	}	

if ($strDecisionQuery -match "[ar]")  
	{
	$strRecipientAddr     = read-host "Receiver-Mail Addr"  
	}

Gruß
LotPings
crazyhoesl
crazyhoesl 08.06.2009 um 11:46:14 Uhr
Goto Top
Perfekt - Vielen Vielen Dank..
77559
77559 08.06.2009 um 12:20:40 Uhr
Goto Top
Noch nicht ganz, dieser ist besser:
$strDecisionQuery = read-host "Search for (s)ender (a)nd/or (r)ecipient ?"  

switch -regex ($strDecisionQuery) 
  { 
    "[as]" { $strSenderAddr = read-host "Sender-Mail Addr"}   
    "[ar]" { $strRecipientAddr = read-host "Receiver-Mail Addr"; break}   
    "s"    { break}   
    default {"No valid input Only [sar] allowed."}  
  }

Gruß
LotPings

Edit, da hatte ich zuviel gekürzt