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-Key: 117683

Url: https://administrator.de/contentid/117683

Printed on: April 19, 2024 at 13:04 o'clock

Member: h1e15
h1e15 Jun 08, 2009 at 08:40:25 (UTC)
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
Mitglied: 77559
77559 Jun 08, 2009 at 08:59:09 (UTC)
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
Member: crazyhoesl
crazyhoesl Jun 08, 2009 at 09:46:14 (UTC)
Goto Top
Perfekt - Vielen Vielen Dank..
Mitglied: 77559
77559 Jun 08, 2009 at 10:20:40 (UTC)
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