因为历史原因,Windows 文件系统有时在处理字符长度超过256的文件路径时会挂掉,在PowerShell Gallery中有个模块中的cmdlets 可以支持搜索任意字符长度的文件系统。
如果你的版本是PowerShell 5.0或者安装了PowerShellGet,可以下载这个PSAlphaFS模块:
Install-Module -Name PSAlphaFS -Scope CurrentUser
有点遗憾,这条命令依赖于管理权限,如果使用常规用户运行,会报错。如果你已经是管理员了,可以在Window目录下像这样查询是否有特殊的长度的文件:
Get-LongChildItem -Path c:\windows -Recurse -File | Where-Object { $_.FullName.Length -gt 250 }
原文连接:Dealing with Long File Paths
荔非苔注:
我在本地系统尝试创建一个文件名超过250的文件会报错,不知道这样的文件是怎么创建出来的。
PS> $a=(1..300 | foreach {'a' }) -join '' PS> "" | Out-File $a Out-File : 指定的路径或文件名太长,或者两者都太长。完全限定文件名必须少于 260 个字符,并且目录名必须少于 248 个字符。 At line:1 char:6 + "" | Out-File $a + ~~~~~~~~~~~ + CategoryInfo : OpenError: (:) [Out-File], PathTooLongException + FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand
本文链接: https://www.pstips.net/dealing-with-long-file-paths.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!