问题标签 [ntfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
234 浏览

filesystems - 如何确定 NTFS 磁盘上的分配块

有没有办法确定在 NTFS 磁盘上分配了哪些集群?在您启动碎片整理本身之前,我正在按照您在碎片整理程序上看到的显示方式进行思考。

我想你可以解析 MFT,但让我感到震惊的是,在一个可能有数十万个文件的系统上,这可能需要很长时间。

谢谢

0 投票
3 回答
5390 浏览

.net - 在 Windows 文件系统中,每个文件都有一个预先计算的哈希值吗?

我想通过其哈希搜索文件重复。出于性能目的,我想知道 NTFS/FAT 文件系统中的每个文件是否都存储了哈希/校验和。如果有,我不必全部计算它们来搜索我的文件。

如果有,如何使用 .NET 访问它?

如果有帮助,它将是 JPEG 文件。他们有校验和吗?

0 投票
1 回答
308 浏览

c# - 审核 Windows Server 2003 文件夹

有没有办法在 Windows Server 2003 环境中记录哪个经过 Active Directory 身份验证的用户修改了特定文件夹的内容?

0 投票
3 回答
337 浏览

.net - 如何获得所有进程的打开句柄集

我想知道文件是否被任何进程(包括调用者)打开 已经发布了许多建议,这些建议往往围绕着尝试以独占方式打开文件并捕获异常。

在我的例子中,这并没有被证明是一种万无一失的方法。我相信在我的具体情况下,我可以通过扫描所有正在运行的进程的文件类型的所有打开句柄的名称来解决。

0 投票
7 回答
1249 浏览

winapi - 打开 NTFS 备用数据流时出现 Windows 错误 ERROR_DISK_FULL (112) 的原因是什么?

我的应用程序将一些数据字节写入备用数据流。这在除一台机器(Windows Server 2003 SP2)之外的所有机器上都可以正常工作。相反,ERROR_DISK_FULL当我尝试创建备用数据流(在根目录上)时,CreateFile 会返回。我找不到这个结果的原因,因为...

  • 那个驱动器上有足够的空间。

  • 该驱动器采用 NTFS 格式(由于 GetVolumeInformation)。

  • 该驱动器支持备用数据流(由于 GetVolumeInformation)。

编辑:我可以提供更多关于原因的信息我在测试系统上添加了许多未显示错误的流,并想知道是否可能发生错误。它没有。相反,在大约 2000 个具有长文件名的流之后,另一个错误发生并持续存在:1450 (ERROR_NO_SYSTEM_RESOURCES)。

编辑:这是使用的文件名之一的示例:

编辑:我们的客户在此服务器上使用 Avira 的一些公司防病毒软件。也许这就是原因(备用数据流可能被恶意软件滥用)。

0 投票
2 回答
3530 浏览

c# - 如何判断文件是否被EFS加密?

是否有某个库方法可以确定文件是否已使用 EFS 加密?我在 FileInfo 上看到了Encrypt()Decrypt()方法,但正在寻找一种查询文件状态的方法。

0 投票
1 回答
6131 浏览

windows-7 - Vista/Windows 7 下通用全局可写应用数据文件夹

我试图找到一个文件夹,默认情况下,Vista 和 Windows 7 中的用户组成员有权写入,而无需提升。

这将用于存储公共数据(数据库和定期更新的文档包),需要所有用户共享和写入。

我以为我在某个地方找到了 CSIDL_COMMON_APPDATA,它在 Vista 上解析为 c:\ProgramData,但是在测试中我们发现用户组的成员只有在机器加入域时才具有读取/执行权限。这似乎与文档相矛盾:

CSIDL_COMMON_APPDATA (FOLDERID_ProgramData) 5.0 版。

包含所有用户的应用程序数据的文件系统目录。典型路径是 C:\Documents and Settings\All Users\Application Data。此文件夹用于存储非用户特定的应用程序数据。例如,应用程序可以在 CSIDL_COMMON_APPDATA 文件夹中存储拼写检查字典、剪贴画数据库或日志文件。此信息不会漫游,任何使用计算机的人都可以使用。

http://msdn.microsoft.com/en-us/library/bb762494(VS.85).aspx

我不想使用文档文件夹(如 CSIDL_COMMON_DOCUMENTS),因为这些文件不应该对用户特别可见。

出于兴趣,这里是我用来将 CSIDL 值解析为路径的代码。

有什么建议么?

编辑:问我们为什么不使用 System.Environment.SpecialFolder。我们使用未在该枚举中定义的文件夹 (COMMON_DOCUMENTS - 0x002e):

编辑:我想我问了一个无法回答的问题。

http://blogs.msdn.com/oldnewthing/archive/2004/11/22/267890.aspx

这似乎意味着这是故意使这是不可能的。然后,我将返回使用提升的 CLI 应用程序更改我们文件夹上的 ACL。脏,但我们的情况需要。

0 投票
1 回答
2112 浏览

c# - 如何在 C# 中查询 NTFS 磁盘配额?

对于给定远程计算机上的所有用户,我需要能够找到这些用户的磁盘配额和实际磁盘使用情况。我需要能够在 C# 应用程序中执行此报告。(好吧,从技术上讲,我已经构建了一个应用程序的 DLL 插件;但这在这里无关紧要。)

  • 远程机器不在同一个网络上,但是,执行应用程序的应用程序能够提供凭据。
  • WMI 完全可以接受;我只是找不到(现在寻找超过 3 个小时后)所需的确切咒语。(我也不是 WMI 专业人士;如果您发布了 WMI 解决方案,请将其置于必要的 C#/.NETSystem.Management.*对象中。)
0 投票
2 回答
2562 浏览

c# - 在 NTFS 中搜索文件

我们有一个相当大的磁盘阵列,上面大约有​​ 2-3 百万个 XML 文件。磁盘使用 NTFS 格式化,我们想使用通配符搜索文件系统。所以像 * SomePartOfTheFilename * 这样的东西将是一个典型的搜索查询。

我们正在使用 .Net 并且发现使用 DirectoryInfo 似乎很慢。

使用循环和递归也很慢。

是否有可以用来直接搜索 NTFS 索引的较低级别的 API 调用?

从命令行使用 dir * SomePartOfTheFilename * /s 几乎是即时的。有什么可以利用的吗?

0 投票
6 回答
16206 浏览

stream - NTFS 备用数据流

今天看到了NTFS系统支持的这个奇葩神奇:每个文件可以有多个数据流。基本上,一个文件可以有一个a.txt0b 大小的文件,但可以在该文件的单独数据流中隐藏任意数量的字节。这完全是与 NTFS 相关的魔法,我认为没有任何高尚的理由让这些流存在。streams您可以在 Sysinternals的实用程序的帮助下查找 NTFS 流。这将向您表明,基本上每个讨厌的thumbs.db文件都带有一个额外的数据流。

好的,现在我已经在 Windows NT4 系统上看到了这个神奇的工作,流添加到文件,复制,删除(在上述实用程序的帮助下),但我现在在我的 Win XP 系统上尝试这个,但是虽然当我使用filename:streamname语法时,我可以检测到现有的流,不能显示它们的内容,不能创建新的流,或者其他任何东西。

我收到此错误:

文件名、目录名或卷标语法不正确。

示例:流实用程序的输出:

为什么我不能显示备用数据流的内容?

查看有关“如何使用 NTFS 备用数据流”的 Microsoft 文档,我可以看到这适用于我的操作系统,尽管他们确实提到将来不会支持这些流。任何人都可以对此有所了解吗?