如何从Powershell上的变量添加条件?

问题描述

我想添加一个输入变量,允许我添加任意数量的条件。

Ex : add from itertools import zip_longest def grouper(iterable,n,fillvalue=None): "Collect data into fixed-length chunks or blocks" # grouper('ABCDEFG',3,'x') --> ABC DEF Gxx" args = [iter(iterable)] * n return zip_longest(*args,fillvalue=fillvalue) keys = ["name","link","id"] user_info = ["name1","link1","id1","name2","link2","id2","name3","link3","id3"] groups = grouper(user_info,n=len(keys),fillvalue='') users = [dict(zip(keys,values)) for values in groups]

的变量
-and ($_ -notmatch '67'

解决方法

使用 single -notmatch 操作和 regex alternation (|),它允许您传递一个开放式子串的数量:

$valuesToExclude = '24','67','42'

$content= Get-Content $file | 
  Where-Object { $_ -notmatch ($valuesToExclude -join '|') } | 
   Set-Content $outfile

注意:以上假设 $valuesToExclude 只包含不包含正则表达式 元字符 的值(例如,.);如果有这种可能性,并且您希望这些字符被字面意义解释,请对值调用 [regex]::Escape()
($valuesToExclude.ForEach({ [regex]::Escape($_) }) -join '|')

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...