Tag: filesystems

访问所需的“Program Files”文件夹

我遇到了这个经常说明的问题,但即使在查找几乎每一个scource之后我都没有得到一个aswer。 问题如下: 我写了一个小的更新程序工具,连接到服务器以检查应用程序的新版本,然后将新版本复制到clientmashine。 所以模式如下: 客户端安装由我和特定应用程序预先配置的更新程序。 基本上,updater位于Program Files文件夹中的某个位置。 然后启动更新程序,连接到我们的服务器并获取最新版本并将其安装到与更新程序安装完全相同的目录。 所以客户端不知道有两个应用程序。 更新程序和更新程序的主要应用程序。 我希望你明白这个主意。 所以这就是我需要访问Program Files文件夹的原因。 我在Windows 7下开发,软件也在7上运行。 有没有办法确保更新程序由管理员运行。 我是否需要管理员权限才能访问它? 还有什么因为它拒绝访问,即使我有管理员权限? 有没有办法检查代码用户拥有哪些权限?

SpecialFolder.Personal位置

我将文件保存到Xamarin中的System.Environment.SpecialFolder.Personal ,它似乎成功,因为我可以立即从文件中提取数据。 但是,我无法在手机上浏览和查找此文件,这个难以捉摸的“个人”文件夹。

.NET如何比较两个表示文件名的字符串,正确地忽略大小写

鉴于(至少在NTFS上)Windows上的文件系统不区分大小写,我想将String fileA与String fileB进行比较: fileA.Equals(fileB, StringComparison.CurrentCultureIgnoreCase) 那么问题就变成我应该使用哪种文化,默认的当前(ui?)文化是否足够? 我似乎无法为此目的找到任何BCL方法。

如何读取目录和/或文件的128位NTFS FILE_ID?

因此NTFS使用128位Guid来识别文件和目录,您可以轻松地查看此信息: C:\ Temp> C:\ Windows \ System32 \ fsutil.exe objectid查询。 对象ID:ab3ffba83c67df118130e0cb4e9d4076 BirthVolume ID:ca38ec6abfe0ca4baa9b54a543fdd84f BirthObjectId ID:ab3ffba83c67df118130e0cb4e9d4076 域ID:00000000000000000000000000000000 所以这很明显,但是如何以编程方式检索这些信息呢? 查看OpenFileById(…)的WinApi,您应该能够获得此信息。 可以预期这将在“ Win32 FileID API库 ”中完成,但那里的方法( GetFileInformationByHandleEx )返回FILE_ID_BOTH_DIR_INFO结构。 这个结构定义了一个FileId; 但是,它是一个LARGE_INTEGER(64位)而不是完整的128位标识符。 我猜测可以使用WMI,这是我应该转向的地方吗?

C# – 添加,编辑和删除文件标签

我想在文件系统中添加和检索文件的标签。 您可以将Stackoverflow问题标记为相关主题,您可以在Windows文件系统中标记文件: 以下方法不允许我访问文件的标记,而只能访问其他文件属性。 string file = @”C:\Users\me\Desktop\MyFile.doc”; FileInfo oFileInfo = new FileInfo(file); MessageBox.Show(oFileInfo.FullName); 有没有想过如何使用System.IO的简单API访问标签?

文件扩展名后的空格 – >奇怪的FileInfo行为

不知何故,一个文件出现在我的一个目录中,并且在其扩展名末尾有空格 – 它的名字是“test.txt”。 奇怪的是, Directory.GetFiles()返回此文件的路径,但我无法使用FileInfo类检索文件信息。 错误在此处显示: DirectoryInfo di = new DirectoryInfo(“c:\\somedir”); FileInfo fi = di.GetFileSystemInfos(“test*”)[0] as FileInfo; //correctly fi.FullName is “c:\somedir\test.txt ” //but fi.Exists==false (!) FileInfo类是否已损坏? 我可以以某种方式检索有关此文件的信息吗? 我真的不知道该文件是如何出现在我的文件系统上的,我无法再重新创建它们。 我尝试使用这种类型的扩展创建新文件的所有尝试都失败了,但是现在我的程序在绑定它时崩溃了。 我可以在找到文件时轻松处理exception,但男孩我很好奇!

我可以简单地“读取”正在使用的文件吗?

我试图使用StreamReader读取文件,但它总是被另一个进程使用,所以我得到这个错误: 该进程无法访问文件’\ arfjwknasgmed17 \ C $ \ FLAG CONDITION \ CP-ARFJN-FLAG.XLS’,因为它正由另一个进程使用。 有没有办法可以在不复制的情况下阅读本文? 或者这是我唯一的选择?