Is it possible to assign the result of a switch statement to a variable.
For example, instead of:
switch ($Extension)
{
doc {$Location = "C:\Users\username\Documents\"; break}
exe {$Location = "C:\Users\username\Downloads\"; break}
default {$Location = "C:\Users\username\Desktop\"}
}
Is it possible to do something similar to:
$Location =
{
switch ($Extension)
{
doc {"C:\Users\username\Documents\"; break}
exe {"C:\Users\username\Downloads\"; break}
default {"C:\Users\username\Desktop\"}
}
}
Trying the above results in $location containing the entire code block as a String.
For V1, I would wrap the switch statement in a function.
function Get-DocumentLocation($Extension)
{
switch ($Extension)
{
doc {"C:\Users\username\Documents\"; break}
exe {"C:\Users\username\Downloads\"; break}
default {"C:\Users\username\Desktop\"}
}
}
$Location = Get-DocumentLocation $extension
Does the following work?
$Location = (switch ($Extension) {
doc {"C:\Users\username\Documents\"; break}
exe {"C:\Users\username\Downloads\"; break}
default {"C:\Users\username\Desktop\"}
})
Or maybe
$Location = $(switch ($Extension) {
doc {"C:\Users\username\Documents\"; break}
exe {"C:\Users\username\Downloads\"; break}
default {"C:\Users\username\Desktop\"}
})
Don't have v1 here to test, right now but I think that might work.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With