【发布时间】:2021-12-14 12:43:59
【问题描述】:
我正在使用我的脚本的这一部分来删除有值的每一行:admin
$i = 1
Do {
If ($worksheet.Cells.Item($i, 1).Value() -eq 'admin')
{
$objRange = $worksheet.Cells.Item($i, 5).EntireRow
$objRange.Delete()
$i -= 1
}
$i += 1
}
While ($worksheet.Cells.Item($i,1).Value() -ne $null)
我想知道如何添加一些不同的值并删除更多的行,例如:系统、计算机...
谢谢!
【问题讨论】:
-
我看到您正在执行
$i -= 1以删除重复项。这是个好主意,但更好的办法是从头跑到尾。为什么这样更好?好吧,在大多数情况下,您会说“从 start_index 到 end_index”,当您删除条目时,您的“end_index”可能会越界。在从头到尾工作“end_index 回到 start_index”时,您永远不会遇到边界问题。 -
一种方法是使用
-in运算符来查看.Value()字符串是否在运算符另一侧的列表中。看看Get-Help about_Comparison_Operators。
标签: excel powershell delete-row