PowerShell の Get-ChildItem で以下のようにすると、余計なファイルがヒットする。
PS C:\foo> Get-ChildItem -Filter *.htm
ディレクトリ: C:\foo
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2016/09/30 0:22 0 file1.htm
-a---- 2016/09/30 0:22 0 file2.html ← 余計なファイル
以下の場合はヒットしない。
PS C:\foo> Get-ChildItem *.htm
ディレクトリ: C:\foo
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2016/09/30 0:22 0 file1.htm
ちょっと調べて、Get-ChildItem の -Filter は MS-DOS の挙動に合わせている、と理解。
- http://stackoverflow.com/questions/12913734/powershell-get-childitem-filter-operates-differently-to-where-clause-with-same
- http://stackoverflow.com/questions/6628875/powershell-file-system-provider-get-childitem-filtering-where-are-the-offic
- http://superuser.com/questions/825615/windows-wildcards-with-files-having-more-than-3-characters-extensions