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.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.