Tag: 目录

DirectoryInfo.Delete与Directory.Delete

我想删除一些临时文件的内容,所以我正在处理为我删除它们的小程序。 我有这两个代码示例,但我很困惑: 哪个代码示例更好? 第一个示例code1删除文件1和2,但第二个示例,code2将删除文件夹1和2的包含? 代码1 public void DeleteContains(string Pathz) { List FolderToClear = new List(); FolderToClear.Add(new DirectoryInfo(@”C:\Users\user\Desktop\1″)); FolderToClear.Add(new DirectoryInfo(@”C:\Users\user\Desktop\2″)); foreach (DirectoryInfo x in FolderToClear) { x.Delete(true); } } 代码2 private void DeleteContents(string Path) { string[] DirectoryList = Directory.GetDirectories(Path); string[] FileList = Directory.GetFiles(Path); foreach (string file in FileList) { File.Delete(file); } foreach ( string directoryin DirectoryList) […]

删除某人打开文件的目录

我试图以编程方式删除和替换应用程序的内容,“应用程序A”,使用“安装程序”程序,这只是一个自定义WPF .exe应用程序,我们称之为“应用程序B”。 (我的问题涉及“App B”中的代码。) GUI设置(不是特别重要) 应用程序B有一个GUI,用户可以在其中选择计算机名称以复制App A。 管理员使用文件选择器通过单击“App A.exe”来填充本地计算机上的源目录路径。 还有用于用户名和密码的文本框,因此管理员可以为将要提供App A的目标文件服务器输入其凭据 – 代码模拟用户以防止权限问题。 “复制”按钮启动例程。 杀死应用程序A,文件进程和执行文件删除 复制例程首先杀死域中所有计算机上的“App A.exe”进程,以及explorer.exe,以防它们打开App A的资源管理器文件夹。 显然这将在下class后完成,但有些人可能仍然打开机器并在回家之前锁上他们的机器。 这真的是我想要解决的问题的基础。 在复制更新的文件之前,我们要删除整个旧目录。 为了删除目录(及其子目录),必须删除其中的每个文件。 但是说他们从App A的文件夹中打开了一个文件。 代码在删除任何文件之前找到任何锁定进程(使用Eric J.的答案, 如何找出哪个进程使用.NET锁定文件? ),它会在任何计算机上杀死该进程。继续前进。 如果是本地的,它只使用: public static void localProcessKill(string processName) { foreach (Process p in Process.GetProcessesByName(processName)) { p.Kill(); } } 如果是远程的,它使用WMI: public static void remoteProcessKill(string computerName, string fullUserName, string pword, string […]

C#搜索某些文件夹以外的文件和文件夹

有没有办法使用像这样的 LINQ命令从SearchOption中排除某些目录 string path = “C:\SomeFolder”; var s1 = Directory.GetFiles(path , “*.*”, SearchOption.AllDirectories); var s2 = Directory.GetDirectories(path , “*.*”, SearchOption.AllDirectories); 该路径由Sub1和Sub2文件夹组成,其中包含某些文件。 我需要将它们从目录搜索中排除。 谢谢 这项工作: string[] exceptions = new string[] { “c:\\SomeFolder\\sub1”, “c:\\SomeFolder\\sub2” }; var s1 = Directory.GetFiles(“c:\\x86”, “*.*”, SearchOption.AllDirectories).Where(d => exceptions.All(e => !d.StartsWith(e))); 这有助于例外

C#删除具有长路径的文件夹

我正在尝试删除文件夹,并且由于包含长路径的文件夹,删除失败。 我认为我需要使用其他东西而不是dir.Delete(真),任何人之前都穿过这座桥? 非常感谢 try { var dir = new DirectoryInfo(@FolderPath); dir.Attributes = dir.Attributes & ~FileAttributes.ReadOnly; dir.Delete(true); } catch (IOException ex) { MessageBox.Show(ex.Message); } 这是有问题的路径:\ server \ share \ dave \ Private \ Careers \ Careers Ed \ Fun Careers Education \ Chris’s not used used 2006 to07 \ old 4.Careers Area Activity Week 1 30.10.06 […]

如何确定目录路径是否为SUBST

如何确定文件是否在SUBST的文件夹中或使用C#位于用户文件夹中?

C#使用FTP上传整个目录

我想要做的是在C#(C Sharp)中使用FTP上传网站。 所以我需要上传文件夹中的所有文件和文件夹,保持其结构。 我正在使用这个FTP类: http : //www.codeproject.com/Tips/443588/Simple-Csharp-FTP-Class用于实际上传。 我得出结论,我需要编写一个递归方法,遍历主目录的每个子目录并上传其中的所有文件和文件夹。 这应该将我的文件夹的精确副本复制到FTP。 问题是……我不知道怎么写这样的方法。 我以前写过递归方法,但我是FTP部分的新手。 这是我到目前为止: private void recursiveDirectory(string directoryPath) { string[] filePaths = null; string[] subDirectories = null; filePaths = Directory.GetFiles(directoryPath, “*.*”); subDirectories = Directory.GetDirectories(directoryPath); if (filePaths != null && subDirectories != null) { foreach (string directory in subDirectories) { ftpClient.createDirectory(directory); } foreach (string file in filePaths) { […]

从完整路径获取目录

如果我有: C:\ TEMP \富\酒吧\ ( 注意: bar是一个目录) 我怎么解析出来: 酒吧

获取目录大小的更有效方法

我已经构建了一个递归函数来获取文件夹路径的目录大小。 它的工作原理,但随着我必须搜索的目录数量不断增加(以及每个相应文件夹中的文件数量),这是一种非常缓慢,低效的方法。 static string GetDirectorySize(string parentDir) { long totalFileSize = 0; string[] dirFiles = Directory.GetFiles(parentDir, “*.*”, System.IO.SearchOption.AllDirectories); foreach (string fileName in dirFiles) { // Use FileInfo to get length of each file. FileInfo info = new FileInfo(fileName); totalFileSize = totalFileSize + info.Length; } return String.Format(new FileSizeFormatProvider(), “{0:fs}”, totalFileSize); } 这是在所有子目录中搜索参数路径,因此dirFiles数组变得非常大。 有没有更好的方法来实现这一目标? 我已经四处寻找,但还没有找到任何东西。 我想到的另一个想法是将结果放入缓存中,当再次调用该函数时,尝试查找差异并仅重新搜索已更改的文件夹。 不确定这是不是一件好事……

如何检查目录1是否是dir2的子目录,反之亦然

什么是检查目录1是否是目录2的子目录的简单方法,反之亦然? 我检查了Path和DirectoryInfo帮助类,但没有找到系统就绪函数。 我以为它会在某处。 你们有个想法在哪里找到这个吗? 我自己试着写一张支票,但它比我开始时预期的要复杂得多。

如果filename包含某个单词,则从目录中删除文件

我需要检查一个目录,看看是否有文件名包含特定关键字的文件,如果有,则删除它们。 这可能吗? 例如,删除文件名中包含关键字“Apple”的“ C:\Folder ”中的所有现有文件。