【问题标题】:Get extended properties of a file on a network share获取网络共享上文件的扩展属性
【发布时间】:2024-05-21 04:00:02
【问题描述】:

我正在尝试从网络共享(作者、专辑等)上的音乐文件中读取扩展属性

这一行(改编自 Read/Write 'Extended' file properties (C#) 的代码)

objFolder = shell.Namespace(@"C:\somefolder");

有效,但这些行将 objFolder 设置为 null:

objFolder = shell.Namespace(@"\\nasdrive\somefolder");

(Z 映射到 \nasdrive)

objFolder = shell.Namespace(@"Z:\somefolder");

我尝试使用来自http://platinumdogs.me/2008/10/30/net-c-impersonation-with-network-credentials/ 的模拟来包装代码,但它不起作用。

(虽然模拟适用于正常的文件访问:File.Open(...) 等)

如何在不将文件移动到本地驱动器的情况下读取这些扩展属性?

【问题讨论】:

    标签: c# windows file-io interop


    【解决方案1】:

    如果您从网络共享读取,为什么要转义特殊字符,然后使用 4 个反斜杠?

    objFolder = shell.Namespace(@"\\\\nasdrive\somefolder");
    

    我认为应该是:

    objFolder = shell.Namespace(@"\\nasdrive\somefolder");
    

    objFolder = shell.Namespace("\\\\nasdrive\\somefolder");
    

    【讨论】:

      最近更新 更多