PowerShell 中的 Switch 语句和复制粘贴采用最后一个数组输出,而不是第一个示例

chrjoh88

PowerShell 中的 switch 语句有问题,想知道它为什么会发生。

由于某种原因,我想根据开关复制内容,当我从开关 A 粘贴时,我只得到最后一个输出,如“D”

知道如何继续在 PowerShell 4.0 中使用它吗?我仅限于 4.0,因为我的学校不会在服务器上升级到 PowerShell 5。

[array]$a = "A", "B", "C", "D"

$login = read-host login

$switch = 'switch($login) {'

for($i = 1; $i -le $a.length; $i++)
{
    $switch += "`n`t$i { '$($test = $a[$i-1])  $([System.Windows.Clipboard]::SetText($test))'; break }" 
}

$switch += "`n}"

Invoke-Expression $switch
马克西米利安·伯兹利

你永远不应该使用Invoke-Expression. 听起来你真正想要的是一个哈希表或类似的:

# added to reference the System.Windows namespace
Add-Type -AssemblyName PresentationFramework

$options = @{
    A = 'this thing'
    B = 'That thing'
    C = 'Another thing'
    D = 'Oh look over here'
}

$login = Read-Host -Prompt login

[Windows.Clipboard]::SetText($options[$login])

为了更进一步,我建议验证输入:

do {
    $login = Read-Host -Prompt login
} until ($options.Keys -contains $login)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Powershell中的switch语句

来自分类Dev

Powershell:如何删除数组控制台输出中的第一个空行?

来自分类Dev

获取 PHP 数组中要在 switch 语句中使用的第一个属性时出错

来自分类Dev

忽略数组中的第一个和最后一个数字

来自分类Dev

在Powershell中获取第一个元素的属性

来自分类Dev

powershell脚本删除输出中的第一个字符

来自分类Dev

Selenium Webdriver和Powershell突出显示一个元素中的文本,将其复制,然后粘贴

来自分类Dev

在一行中删除第一个和最后一个数组元素?

来自分类Dev

python数组中None之间的第一个和最后一个数字

来自分类Dev

PowerShell中while循环中switch语句的问题

来自分类Dev

获取数组中的第一个和最后一个元素

来自分类Dev

从解析的数组中获取第一个和最后一个日期

来自分类Dev

返回数组中的第一个和最后一个值

来自分类Dev

在PowerShell中,数组索引从第一个到倒数第二个

来自分类Dev

查找数组中的第一个、最后一个和中间值。返回最大的一个

来自分类Dev

在PowerShell中替换字符串中的第一个匹配字符

来自分类Dev

在PowerShell中替换字符串中的第一个匹配字符

来自分类Dev

正则表达式匹配输出文件中的最后一个和第一个数字

来自分类Dev

验证数组中的第一个或最后一个项目是否等于某个数字的函数

来自分类Dev

查找升序列表中降序的第一个和最后一个数字

来自分类Dev

返回Powershell中的第一个匹配文件夹

来自分类Dev

如何在Powershell中仅删除不带“}”的行的第一个匹配项?

来自分类Dev

powershell:如何删除每行文本中的第一个#?

来自分类Dev

在Powershell中过滤属性列表的第一个值

来自分类Dev

Powershell-删除foreach中的最后一个逗号

来自分类Dev

VBA switch语句(或字典)基于第一个字符在相邻单元格中填充值

来自分类Dev

从数组数组中查找每天的第一个和最后一个时间戳

来自分类Dev

Java数组在第一个数组中添加新值,而在最后一个数组中删除

来自分类Dev

PowerShell数组的任何元素以另一个数组中的任何元素结尾

Related 相关文章

  1. 1

    Powershell中的switch语句

  2. 2

    Powershell:如何删除数组控制台输出中的第一个空行?

  3. 3

    获取 PHP 数组中要在 switch 语句中使用的第一个属性时出错

  4. 4

    忽略数组中的第一个和最后一个数字

  5. 5

    在Powershell中获取第一个元素的属性

  6. 6

    powershell脚本删除输出中的第一个字符

  7. 7

    Selenium Webdriver和Powershell突出显示一个元素中的文本,将其复制,然后粘贴

  8. 8

    在一行中删除第一个和最后一个数组元素?

  9. 9

    python数组中None之间的第一个和最后一个数字

  10. 10

    PowerShell中while循环中switch语句的问题

  11. 11

    获取数组中的第一个和最后一个元素

  12. 12

    从解析的数组中获取第一个和最后一个日期

  13. 13

    返回数组中的第一个和最后一个值

  14. 14

    在PowerShell中,数组索引从第一个到倒数第二个

  15. 15

    查找数组中的第一个、最后一个和中间值。返回最大的一个

  16. 16

    在PowerShell中替换字符串中的第一个匹配字符

  17. 17

    在PowerShell中替换字符串中的第一个匹配字符

  18. 18

    正则表达式匹配输出文件中的最后一个和第一个数字

  19. 19

    验证数组中的第一个或最后一个项目是否等于某个数字的函数

  20. 20

    查找升序列表中降序的第一个和最后一个数字

  21. 21

    返回Powershell中的第一个匹配文件夹

  22. 22

    如何在Powershell中仅删除不带“}”的行的第一个匹配项?

  23. 23

    powershell:如何删除每行文本中的第一个#?

  24. 24

    在Powershell中过滤属性列表的第一个值

  25. 25

    Powershell-删除foreach中的最后一个逗号

  26. 26

    VBA switch语句(或字典)基于第一个字符在相邻单元格中填充值

  27. 27

    从数组数组中查找每天的第一个和最后一个时间戳

  28. 28

    Java数组在第一个数组中添加新值,而在最后一个数组中删除

  29. 29

    PowerShell数组的任何元素以另一个数组中的任何元素结尾

热门标签

归档