当path\filename超过260个字符时,在PowerShell中获取/设置文件属性

Ben*_*ard 5 .net powershell robocopy

我正在寻找一种在PowerShell中获取和设置文件属性(隐藏和只读)的方法,用于组合路径和文件名超过260个字符的文件.我知道.NET类不支持更长的文件路径; 我已经尝试过了.Attrib也不起作用.我收到错误"参数格式不正确 - ".同样,Dir也不起作用.

我正在使用Robocopy来获取文件名.Robocopy对长路径没有任何问题.但是,我不能使用Robocopy获取/设置属性,因为我只使用Robocopy的/ L列表模式.

任何人都有PowerShell的变通方法?

更新:

subst不支持超长路径.它似乎确实适用于部分路径.

mklink 需要本地卷.

net use不支持超长路径.它似乎确实适用于部分路径.

New-PSDrive 不支持超长路径,甚至不支持部分路径.

von*_*ryz 1

我想使用subst命令将路径映射为驱动器号值得一试。它基于旧时代的 DOS,并且仍然可以像这样在 Windows 上运行,

subst k: c:\some\really\complex\path\with\too\many\subdirs\and\suff\...
Run Code Online (Sandbox Code Playgroud)

如果subst不起作用,请尝试共享靠近该文件的目录并通过 UNC 路径访问它。