4

我正在尝试创建一个备份脚本,该脚本将移动 30 天以前的文件,但我希望能够从列表中排除文件夹

$a = "C:\\Temp\\Exclude\\test"
$b = "C:\\Temp\\Exclude"

如果我运行以下命令:

$a -match $b

遵循PowerShell 基础知识:条件运算符 -Match -Like -Contains & -In -NotIn

$Guy ="Guy Thomas 1949"
$Guy -match "Th"

这返回true

4

1 回答 1

9

我会说使用通配符之类的运算符,它可以为您节省很多头痛:

$a -like "$b*"

匹配运算符使用正则表达式模式,并且路径中包含正则表达式特殊字符(转义字符)。如果您仍想使用 -match - 确保转义字符串:

$a -match [regex]::escape($b)

这将起作用,但请记住它可以在字符串的中间匹配,您可以添加 '^' 锚来告诉正则表达式引擎从字符串的开头匹配:

$a -match ("^"+[regex]::escape($b))
于 2012-05-01T17:03:28.177 回答