【发布时间】:2021-01-11 00:41:03
【问题描述】:
大家早上好!
自从我在另一篇文章中发现这个 switch 语句后,我就一直在搞乱它。
我在下面的代码中遇到了这个问题,它使用相同的信息打印多行,我知道为什么要这样做,但是我不知道如何解决它。我相信当我分配变量时它会搞砸,但我不太确定。有人可以指出我可能导致问题的正确方向吗?任何帮助表示赞赏。
$gc = Get-ChildItem -Path 'C:\users\abrah\OneDrive\Desktop'
Foreach ($File in $gc) {
switch -Wildcard ($file) {
"deskt*" { $Desk = "This is the location: $($File.FullName)" }
"*v*" { $VA = "This is the location: $($File.FullName)" }
}
$VCount = $va | Measure-Object | Select-Object -ExpandProperty Count
$Dcount = $Desk | Measure-Object | Select-Object -ExpandProperty Count
$PS = [pscustomobject]@{
DesktopLocation = $Desk
DCount = $Dcount
VLocation = $VA
VCount = $VCount
}
$PS
}
关于脚本:我只是想在我的桌面上找到任何以deskt 开头的文件,以及其中包含字母V 的任何文件。然后我将它扔到一个自定义对象中,同时尝试计算有多少文件包含这些关键字母。
顺便说一下,结果如下:
【问题讨论】:
-
我还想,“也许我可以只计算 customobject 中的项目,但是,那么我将如何附加到它呢?”
-
您现在每次操作单个文件时都在尝试“重新计算”所有内容。一次做一件事,它会容易得多
标签: powershell