草庐IT

DirectoryInfo

全部标签

c# - 绕过 Windows 兼容性链接目录

Windows7中有许多目录具有古代名称且无法访问。我指的是像“C:\DocumentsandSettings”和“C:\DokumenteundEinstellungen”这样的目录,其中真正的文件夹是“C:\Users”。另一个是本地化系统上的“C:\Programme”。当使用Directory.GetDirectories迭代所有目录但无法访问时,这些目录会出现。尝试访问它们时,将抛出UnauthorizedAccessException。我可以捕捉到它,但它会导致额外的时间,从而减慢我的扫描速度。我宁愿避免首先查看那些假目录。(我想知道为什么它们在那里,我是否可以删除它们,但

windows - 在 Powershell 中将 X 个文件从一个文件夹移动到另一个文件夹

我有一个文件夹A,其中包含75000个要处理的文件。我旁边有4个文件夹(A、B、C、D),一次可以处理3000个文件。我想要一个脚本从A获取3000个文件并将其放入B。然后它应该再获取3000个文件并放入C,然后是D,​​最后是E下面是我目前的代码。这需要10个文件并将它们移动到B,但它只是永远坐着而不将任何文件放入C、D或E。有没有办法退出代码的EnumerateFiles部分?我只想移动它找到的第一个X个文件,我不关心A中有多少个文件。有什么想法吗?$dirBase="\\networkDir\A\"$dirProc1="\\networkDir\B\"$dirProc2="\\n

c# - Environment.SpecialFolder.MyDocuments 有效但 SpecialFolder.MyComputer 无效?

我正在使用VS2013ExpressforDesktop和WindowsForms。我正在关注thisMSDNWalkthrough"CreatinganExplorerStyleInterfacewiththeListViewandTreeViewControlsUsingtheDesigner".所以我试图让TreeView从“我的电脑”级别开始,以便用户可以选择所有驱动器号。它适用于MyDocuments,如下所示:DirectoryInfoinfo=newDirectoryInfo(Environment.GetFolderPath(Environment.SpecialFol

c# - DirectoryInfo.GetFiles() 不返回所有文件

我只是用我自己的文件夹浏览器做一些试验。我注意到当我查看Windows7中的System32文件夹时,我得到了一些奇怪的结果。这是代码:DataTabledt=newDataTable();stringFolder="C:\\Windows\\System32";DirectoryInfoDI=newDirectoryInfo(Folder);foreach(FileInfoFIinDI.GetFiles()){DataRowRow=dt.NewRow();if(FI.Name=="accelerometerdll.DLL"){}Row["Name"]=FI.Name;Row["Cre

c# - 如何以编程方式访问操作系统中最常用的程序和程序的最新文件?

我需要以编程方式访问Windows操作系统中最近使用的程序列表和最近打开的文件列表。这些是您在Windows中单击“开始”后通常会看到的项目。我希望使用C#,但如果它在托管C++中更好,我也会这样做。 最佳答案 我认为对于文件,您可以访问最近的目录。stringfolderName=Environment.GetFolderPath(Environment.SpecialFolder.Recent);DirectoryInforecentFolder=newDirectoryInfo(folderName);FileInfo[]fi

c# - 如何从不存在的用户拥有的文件夹中删除 ACL

我正在开发C#应用程序。我需要更改文件夹的ACL,为此我以提升的管理员身份运行我的程序,一切正常。问题是,如果拥有该文件夹的用户已从系统中删除,那么当我尝试获取该文件夹的所有权时,我会遇到未经授权的异常。这是失败的代码:using(newPrivilegeEnabler(Process.GetCurrentProcess(),Privilege.TakeOwnership)){vardirectorySecurity=directoryInfo.GetAccessControl();directorySecurity.SetOwner(WindowsIdentity.GetCurren

C# 如何解决使用 DirectoryInfo 时的限制?

当我递归浏览一些文件夹和文件时,我遇到了这个错误:指定的路径、文件名或两者都太长。完全限定文件名必须少于260个字符,目录名必须少于248个字符。这是我的功能privatevoidProcessDirectory(DirectoryInfodi){try{DirectoryInfo[]diArr=di.GetDirectories();foreach(DirectoryInfodirectoryInfoindiArr){if(StopCheck)return;ProcessDirectory(directoryInfo);}ProcessFile(di);}catch(Exceptio

c# - 这是 DirectoryInfo.GetDirectories(string searchPattern) 中的错误吗?

调用DirectoryInfo.GetDirectories(".")时在指向有效文件夹(不包括驱动器根目录)的DirectoryInfo类的实例上,结果是一个DirectoryInfo数组,其第一个(也是唯一一个)元素指向一个与自身同名的无效目录,位于其下方。例如:staticvoidMain(string[]args){DirectoryInfodi=newDirectoryInfo("c:\\temp");DirectoryInfo[]dis=di.GetDirectories(".");Console.WriteLine(dis[0].FullName);}打印出一个不存在的目

C#:使用 DirectoryInfo 时如何登录共享

如果我想用UNC路径实例化一个DirectoryInfo对象DirectoryInfomyDI=newDirectoryInfo(@"\\server\share");如何传递访问该共享所需的用户名/密码?谢谢 最佳答案 在.NET4中,这个类非常适合我通过UNC登录非Windows服务器。usingMicrosoft.VisualBasic;usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Data;usingSystem

c# - DirectoryInfo、FileInfo 和很长的路径

我尝试使用路径很长的DirectoryInfo、FileInfo。我尝试使用\\?\c:\long路径(我在fileInfo和DirectoryInfo中得到了非法字符)我尝试使用file://c:/long路径(我不支持uri)我可以在路径或其他地方使用~吗?我读了这个post但我想使用另一种调用API的方式。还有其他解决方案吗?微软有篇文章使用\\?在文件路径linktext问题是我如何处理很长的路径,以及路径的DirectoryInfo和FileInfo是否超过256个字符 最佳答案 图书馆再次可用onthislocation