我正在尝试创建一个备份脚本,该脚本将移动30天以前的文件,但我希望能够从列表中排除文件夹
$a = "C:\\Temp\\Exclude\\test"
$b = "C:\\Temp\\Exclude"
如果我运行以下内容:
$a -match $b
关注PowerShell Basics: Conditional Operators -Match -Like -Contains & -In -NotIn:
$Guy ="Guy Thomas 1949"
$Guy -match "Th"
返回true
。
答案 0 :(得分:6)
我会说使用wilcards之类的操作符,它可以为你节省很多头痛:
$a -like "$b*"
匹配运算符正在使用正则表达式模式,并且路径中包含正则表达式特殊字符(escape characeter)。如果您仍想使用-match - 请确保转义字符串:
$a -match [regex]::escape($b)
这会有效,但请记住它可以在字符串的中间匹配,你可以添加'^'锚点来告诉正则表达式引擎从字符串的开头匹配:
$a -match ("^"+[regex]::escape($b))