相关疑难解决方法(0)

提取Windows文件属性(自定义属性)C#

在Word/Excel中,您必须添加自定义属性.(见图) 自定义属性.正如你们可以看到的那样:"属性:",你可以在那里添加你想要的任何信息.保存文件并转到文件夹中的文件位置时,可以右键单击 - >属性,然后选择所有选项卡:常规/安全/详细信息/以前的版本.使用该功能添加选项卡Custom.

现在我想通过编码获取此信息:自定义属性信息.然后将其提取到记事本中.到目前为止我使用了Shell32但后来我只获得了详细信息选项卡中的信息.我做了一些研究,并看到了一些可能性DSOfile.dll.但我想知道是否有可能在不安装其他DLL的情况下这样做?到目前为止这是我的代码Shell32.

        static void Main(string[] args)
    {

        //using (StreamWriter writer = new StreamWriter(@"filepathhere"))
        //{
            //Console.SetOut(writer);
            ReadProperties();
        //}
    }
    static void ReadProperties()
    { 
        List<string> arrHeaders = new List<string>();
        Shell shell = new Shell();
        Folder objFolder = shell.NameSpace(@"filepathhere");
        FolderItem objFolderItem = objFolder.ParseName("filehere.doc");

        for (int i = 0; i < short.MaxValue; i++)
        {
            string header = objFolder.GetDetailsOf(objFolder, i);
            if (String.IsNullOrEmpty(header))
                break;
            arrHeaders.Add(header);
        }

        for ( int i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

c# windows properties file visual-studio-2015

18
推荐指数
1
解决办法
6884
查看次数

Powershell - 如何在扩展文件属性中设置"标题"

我正在尝试在Powershell中编写标记系统.我希望能够'tag'在文件中设置我的选择,例如使用该'title'字段,因为我不使用它.我要标记的文件是照片/视频和文字的混合.

我发现读取/获取扩展文件属性非常容易,因为网上有多个可用示例,但是我发现很难找到修改或编写扩展文件属性的示例; 特别是在Powershell.

我已设法'titles'使用taglib-sharp 写入文件,但这似乎有各种照片的问题,并没有太多可用于故障排除的信息.此外,它只处理音频/视频/照片文件.

这是我必须阅读标题的代码(来自测试照片):

$path = 'C:\temp\photo.jpg'
$shell = New-Object -COMObject Shell.Application
$folder = Split-Path $path
$file = Split-Path $path -Leaf
$shellfolder = $shell.Namespace($folder)
$shellfile = $shellfolder.ParseName($file)
$shellfolder.GetDetailsOf($shellfile, 21)
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我如何更新此属性,然后将其写入/保存到文件中?

tags powershell attributes

6
推荐指数
1
解决办法
1万
查看次数

VBA获取文件夹中的文件列表及其标签(关键字)

我正在尝试使用用户表单制作一个宏,在其中输入文件夹位置并列出该目录中的所有文件,并且也有文件标签,但我似乎不知道如何获取标签。到目前为止我所拥有的是:

'Disable screen update
Application.ScreenUpdating = False

'Declare variables
Dim oFSO As Object
Dim oFolder As Object
Dim oFile As Object
Dim i As Integer
Dim LastRow As Long



Range("A2:E2" & LastRow).ClearContents

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder(FolderLocation_TextBox.Value)

i = 1

For Each oFile In oFolder.Files
    Cells(i + 1, 1) = oFile.Name
    i = i + 1
Next oFile

'Enable screen update
Application.ScreenUpdating = True
Run Code Online (Sandbox Code Playgroud)

这样就可以得到列表了。我尝试做

Cells(i + 1, 1) = oFile.Tags
Run Code Online (Sandbox Code Playgroud)

但这没有用。我还发现这与代码有关:

oFile.BuiltinDocumentProperties("Keywords").Value
Run Code Online (Sandbox Code Playgroud)

并且它说它不支持这个属性或方法。总的来说,我试图获取所有文件及其标签的列表,稍后我将尝试使其从 Excel 编辑所述文件标签。

有人可以帮我解决这个问题吗?对于元数据提取这样简单的事情来说似乎有点太复杂了。 …

tags vba metadata keyword

1
推荐指数
1
解决办法
2346
查看次数