我需要在 Powershell PSVersion 5.1 中编写一个脚本来发现某些路径名包含 é 的文件。我在命令中使用 -LiteralPath,但 Get-ChildItem 无法正确搜索路径。 é 被错误解释(代码页?)并且找不到路径。 我尝试将 PS 会话代码页更改为 65001(UTF-8?),但无济于事。我所做的大部分阅读都是关于使用 BOM 等对输出进行编码。我正在开发客户提供的盒子,因此我可能会陷入 Powershell 版本的困境,并且我没有提升的权限。 谢谢你。
我尝试在路径前加上 \? 前缀,我使用的是 -LiteralPath,并且我尝试将代码页设置为 65001。
Get-ChildItem 的选项 Filter 可能会有所帮助:
PS D:\temp> Get-ChildItem -Filter '*é*'
Directory: D:\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 19-10-2024 17:34 13039 tést
-a---- 19-10-2024 17:34 13087 tésttést
-a---- 19-10-2024 17:39 13134 ésttést