PowerShell 5.0 PathTooLongException Error



问题

正在接收PathTooLongException-。。。完全限定的文件名必须少于260个字符,目录名必须少于248个字符。

操作系统

  • Windows Server 2008 R2企业版

PowerShell版本

  • PSV版本5.1.11409.1018
  • 版本10.0.14409.1018
  • CLR版本4.0.30319.36543
  • WSManStackVersion 3.0
  • PSRemotingProtocol版本2.3
  • 序列化1.1.0.1版

.NET FrameWork版本

  • 4.5.51209

代码

Get-ChildItem -Path $path -Directory -Recurse | Get-ACL
ForEach ($item in $pathmany) {
$permissions = $item.access | where {$_.IdentityReference -like "*$target*"}
$permissions.FullPath | where {$_.IdentityReference -like "*$target*"}
if ($permissions.IdentityReference -like "*$target*") {
$path = $item.Path.trim('Microsoft.PowerShell.CoreFileSystem::')
}
}

到目前为止我尝试了什么

1-设置位置"进一步进入文件夹树"(错误(

2-将TEMP子集"文件夹进一步放入文件夹树"(错误(

3-\计算机名称\"文件夹进一步进入文件夹树"\(错误(

4-使用2019服务器,我可以将注册表编辑为"LongPathsEnabled=1",我还尝试使用\?\UNC\方法,它返回了相同的错误。

也尝试了这个代码,仍然得到错误

$folder = @{ Name = "\?UNC"}
$folder.path = "folder further into folder tree"
$folder | ForEach-Object {
$item = Get-ChildItem -Path $_.Path -Directory -Recurse | Get-ACL
}

询问我的主管是否可以升级到PowerShell 6.0或7.0。

任何帮助或想法都将不胜感激。

我在PowerShell 7中使用上面的脚本,代码能够检索到我收到LongPathException错误的文件夹。然而,我得到了一个新的错误,我将发布另一个问题。我能够想出并解决我的问题的答案如下。我能够计数文件夹树L:\Depts中的145000多个文件夹。

脚本问题错误

Get-ChildItem -Path "L:Depts" -Directory -Recurse

安装PowerShell 7.0将更正错误

Get-ChildItem : The specified path, file name, or both are too long. The fully
qualified file name must be less than 260 characters, and the directory name must
be less than 248 characters.

相关内容

  • 没有找到相关文章

最新更新