首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不使用UNC长路径的儿童项目

不使用UNC长路径的儿童项目
EN

Stack Overflow用户
提问于 2013-11-04 17:12:23
回答 3查看 3.8K关注 0票数 2

我尝试在Powershell中使用带有Get-ChildItem的UNC长路径,如

代码语言:javascript
复制
Get-ChildItem -Path "\\?\c:\blabla"

Powershell说路径上有非法字符。同样的路径也适用于Resolve-Path。如何在gci中使用“\?”语法

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-01 01:08:02

好消息!PowerShell v6.0.0-beta.3及更高版本现在默认支持UNC路径;它会自动将UNC字符串添加到路径>260个字符:

https://github.com/PowerShell/PowerShell/releases/tag/v6.0.0-beta.3 https://github.com/PowerShell/PowerShell/pull/3960 https://github.com/PowerShell/PowerShell/pull/3960/files/3e7e28d49f306ab4874e32cf10eabb43559dae26#diff-52b1a915619c71b288b3f92f944924c4

修正PowerShell核心,允许使用超过260个字符的长路径。(#3960) ..。 当调用Windows本机API以确定是否存在项时,请确保路径前面有\?\ \,以允许路径>260个字符。

您只需下载该版本或更高版本(通过。PowerShell标签)。我刚刚下载了v6.0.0-beta.9 for Windows x64到我的Windows 10机器上,并对其进行了测试,创建了一个大约460字符的路径!

票数 1
EN

Stack Overflow用户

发布于 2013-11-04 18:55:17

我似乎找不到适用于?的咒语。然而,以下工作是可行的:

代码语言:javascript
复制
gci '\\localhost\C$\'
gci ('\\{0}\C$\' -f $ENV:COMPUTERNAME)

更新:参考资料:UNC路径不适用于.NET?

\\?\部分是特定于windows的,本质上与powershell中的--%执行相同的操作,即“这之后的一切都是文字字符串”。

示例:

代码语言:javascript
复制
$LongUncPath = '\\?\C:\'
Get-ChildItem -Path:$LongUncPath.TrimStart('\\?\')
票数 1
EN

Stack Overflow用户

发布于 2015-05-13 19:10:52

我发现路的尽头有一些不可打印的字符。我使用trim()删除了“路径中的非法字符”。

$path.trim()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19773157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档