相关疑难解决方法(0)

读/写'扩展'文件属性(C#)

我试图找出如何读取/写入C#中的扩展文件属性,例如,您可以在Windows资源管理器中看到的注释,比特率,访问日期,类别等.任何想法如何做到这一点?编辑:我主要是读/写视频文件(AVI/DIVX/...)

c# extended-properties

100
推荐指数
8
解决办法
10万
查看次数

C# - 添加、编辑和删除文件标签

我想在文件系统中添加和检索文件的标签。

正如您可以将 Stackoverflow 问题标记到相关主题一样,您可以在 Windows 文件系统中标记文件:

样本

以下方法不允许我访问文件的标签,而只能访问其他文件属性。

string file = @"C:\Users\me\Desktop\MyFile.doc";

FileInfo oFileInfo = new FileInfo(file);
MessageBox.Show(oFileInfo.FullName);
Run Code Online (Sandbox Code Playgroud)

关于如何使用简单的 API 访问标签有什么想法吗System.IO

c# filesystems tags file fileinfo

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

读/写音频/视频文件的元数据

我需要一些帮助来读/写音频/ vido文件的元数据信息.我搜索了很多,但没有发现任何有用的东西.Taglib sharp是一个开源库,提供读/写元数据的帮助.使用标签lib我可以编辑一些值但不是全部.

TagLib.File videoFile = TagLib.File.Create("test.mp4");
videoFile.Tag.Title = "Test";
videoFile.Tag.Comment = "Nothing";
Run Code Online (Sandbox Code Playgroud)

但我无法编辑以下属性,如作者网址,生产者等.我如何编辑这些属性?

c# taglib-sharp

7
推荐指数
2
解决办法
2万
查看次数

.NET 5 使用 Windows Shell 的方式是什么?

我最近将我的一些软件项目转移到了 .NET 5。我使用 Microsoft WindowsAPICodePack 来处理 Windows Shell,但是这个库已经过时了,似乎不再维护了。此外,它是为 .NET Framework 4.7 或 4.8 编译的,可能与 .NET 5 不兼容。那么从 .NET 5 应用程序使用 Windows Shell 的“正确”(最好是现代的)方式是什么?例如,我使用旧的 API 代码包来获取用户的库、获取文件图标等。我注意到命名空间 Windows.Storage 似乎具有部分或全部这些功能,但它似乎更有针对性UWP(也许这对于 .NET 5 项目来说无关紧要?)。还是我需要研究 WinRT?有任何想法吗?

c# windows-api-code-pack .net-5

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

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万
查看次数

是否可以使用Windows API代码包设置/编辑文件扩展属性?

我想知道是否可以使用Windows API代码包来设置/编辑文件扩展属性(资源管理器:右键单击>属性>详细信息)。

var shellFile = Microsoft.WindowsAPICodePack.Shell.ShellObject.FromParsingName(filePath);
var artistName = shellFile.Properties.GetProperty(SystemProperties.System.Music.DisplayArtist).ValueAsObject.ToString();
var duration = TimeSpan.FromMilliseconds(Convert.ToDouble(shellFile.Properties.GetProperty(SystemProperties.System.Media.Duration).ValueAsObject) * 0.0001);
Run Code Online (Sandbox Code Playgroud)

我使用以下几行来获取所需的属性,但是我不知道如何编辑其中之一(例如艺术家名称)。我知道我可以使用taglib-sharp,但是只有在没有外部代码的情况下没有解决方案时,我才会使用它。

谢谢大家花时间帮助我。

c# file-properties windows-api-code-pack

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