我想在Powershell中编写一个脚本来匹配文件名的扩展名。这是我到目前为止有:不能在PowerShell中获得像预期的那样工作
$location = $args[0];
[String]$extensions = @(".mkv", ".mp4", ".avi", ".wmv");
$pruneSize = 41240000;
Set-Location $location;
Get-ChildItem -Recurse | ForEach-Object {
If($extensions -contains $_.Extension) {
Write-Host "Found it";
}
else {
Write-Host $_.Extension not found in $extensions;
}
}
这里是输出:
.mp4 not found in .mkv .mp4 .avi .wmv
.bat not found in .mkv .mp4 .avi .wmv
.bat not found in .mkv .mp4 .avi .wmv
如此看来,它应该工作,但事实并非如此。如果我将“-contains”切换为“-match”,那么它就起作用了,尽管我不想用匹配,因为它看起来应该是我真正想要的,并且对于我所需要的更精确。我错过了一些powershell的怪癖吗?
谢谢!