计算虚拟桌面然后删除 2 个以上
Count Virtual Desktops then delete more than 2
前言:我没有接受过关于如何编码的正式培训。我有点像它,并通过 powershell 完成了一些简单的事情,比如注册表项。
我有一个我正在尝试 运行 的小脚本,它将测试我有多少个虚拟桌面 运行ning (Get-DesktopCount)。我想要测试 return,如果有 2 个或更多虚拟桌面,则执行语句的第二部分,即删除所有虚拟桌面,直到只剩下两个虚拟桌面 (Remove-Desktop)
$DTC = Get-DesktopCount
Do
{
Remove-Desktop -Desktop "Desktop 2"
}
Until (($DTC) -gt '2')
我知道这与语法有关,我无法区分不同 cmdlet 的 return 的不同类型。
我在这里看到三件事
首先,当您执行 $DTC = Get-DesktopCount
时,您会 将 Get-DesktopCount
的结果保存为 $DTC
。无论您创建或删除多少个桌面,存储在 $DTC
中的值已经设置并且不会更新,直到您告诉它更改。
第二个是循环的条件似乎是倒退的 - 您可能想继续 Until
有 少于 2 个桌面(或者,While
还有)
最后,虽然我认为它在这种情况下没有任何危害,但我认为您不想在这里使用 Do
- 使用 Do { ... } While ( ... )
而不是 While ( ... ) { ... }
你最终 运行 至少阻塞一次,即使条件为假(所以你至少关闭桌面 2 一次,即使桌面少于 2 个)
总而言之,我想你想要的可能更接近于
While ( (Get-DesktopCount) -gt 2 ) {
Remove-Desktop -Desktop "Desktop 2"
}
前言:我没有接受过关于如何编码的正式培训。我有点像它,并通过 powershell 完成了一些简单的事情,比如注册表项。
我有一个我正在尝试 运行 的小脚本,它将测试我有多少个虚拟桌面 运行ning (Get-DesktopCount)。我想要测试 return,如果有 2 个或更多虚拟桌面,则执行语句的第二部分,即删除所有虚拟桌面,直到只剩下两个虚拟桌面 (Remove-Desktop)
$DTC = Get-DesktopCount
Do
{
Remove-Desktop -Desktop "Desktop 2"
}
Until (($DTC) -gt '2')
我知道这与语法有关,我无法区分不同 cmdlet 的 return 的不同类型。
我在这里看到三件事
首先,当您执行 $DTC = Get-DesktopCount
时,您会 将 Get-DesktopCount
的结果保存为 $DTC
。无论您创建或删除多少个桌面,存储在 $DTC
中的值已经设置并且不会更新,直到您告诉它更改。
第二个是循环的条件似乎是倒退的 - 您可能想继续 Until
有 少于 2 个桌面(或者,While
还有)
最后,虽然我认为它在这种情况下没有任何危害,但我认为您不想在这里使用 Do
- 使用 Do { ... } While ( ... )
而不是 While ( ... ) { ... }
你最终 运行 至少阻塞一次,即使条件为假(所以你至少关闭桌面 2 一次,即使桌面少于 2 个)
总而言之,我想你想要的可能更接近于
While ( (Get-DesktopCount) -gt 2 ) {
Remove-Desktop -Desktop "Desktop 2"
}