C# Directory.EnumerateFiles的代码示例

通过代码示例来学习C# Directory.EnumerateFiles方法

通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。


Directory.EnumerateFiles是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的Directory.EnumerateFiles() 已经帮大家高亮显示了,大家可以重点学习Directory.EnumerateFiles() 方法的写法,从而快速掌握该方法的应用。

Directory.EnumerateFiles的代码示例1 - DiagnoseProducesZipFile()

    using System.IO;

        [TestCase]
        public void DiagnoseProducesZipFile()
        {
            Directory.Exists(this.Enlistment.DiagnosticsRoot).ShouldEqual(false);
            string output = this.Enlistment.Diagnose();
            output.ShouldNotContain(ignoreCase: true, unexpectedSubstrings: "Failed");

            IEnumerable files = Directory.EnumerateFiles(this.Enlistment.DiagnosticsRoot);
            files.ShouldBeNonEmpty();
            string zipFilePath = files.First();

            zipFilePath.EndsWith(".zip").ShouldEqual(true);
            output.Contains(zipFilePath).ShouldEqual(true);
        }
    

开发者ID:microsoft,项目名称:VFSForGit,代码行数:16,代码来源:DiagnoseTests.cs

在DiagnoseProducesZipFile()方法中,Directory的代码示例类中的EnumerateFiles的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

Directory.EnumerateFiles的代码示例2 - CopyLocalCacheData()

    using System.IO;

        private void CopyLocalCacheData(string archiveFolderPath, string localCacheRoot, string gitObjectsRoot)
        {
            try
            {
                string localCacheArchivePath = Path.Combine(archiveFolderPath, GVFSConstants.DefaultGVFSCacheFolderName);
                Directory.CreateDirectory(localCacheArchivePath);

                if (!string.IsNullOrWhiteSpace(localCacheRoot))
                {
                    // Copy all mapping.dat files in the local cache folder (i.e. mapping.dat, mapping.dat.tmp, mapping.dat.lock)
                    foreach (string filePath in Directory.EnumerateFiles(localCacheRoot, "mapping.dat*"))
                    {
                        string fileName = Path.GetFileName(filePath);
                        try
                        {
                            File.Copy(filePath, Path.Combine(localCacheArchivePath, fileName));
                        }
                        catch (Exception e)
                        {
                            this.WriteMessage(string.Format(
                                "Failed to copy '{0}' from {1} to {2} with exception {3}",
                                fileName,
                                localCacheRoot,
                                archiveFolderPath,
                                e));
                        }
                    }
                }

                if (!string.IsNullOrWhiteSpace(gitObjectsRoot))
                {
                    this.LogDirectoryEnumeration(gitObjectsRoot, localCacheArchivePath, GVFSConstants.DotGit.Objects.Pack.Name, "packs-cached.txt");
                    this.LogLooseObjectCount(gitObjectsRoot, localCacheArchivePath, string.Empty, "objects-cached.txt");

                    // Store all commit-graph files
                    this.CopyAllFiles(gitObjectsRoot, localCacheArchivePath, GVFSConstants.DotGit.Objects.Info.Root, copySubFolders: true);
                }
            }
            catch (Exception e)
            {
                this.WriteMessage(string.Format("Failed to copy local cache data with exception: {0}", e));
            }
        }
    

开发者ID:microsoft,项目名称:VFSForGit,代码行数:45,代码来源:DiagnoseVerb.cs

在CopyLocalCacheData()方法中,Directory的代码示例类中的EnumerateFiles的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

Directory.EnumerateFiles的代码示例3 - CreateEsentBackgroundOpsDatabase()

    using System.IO;

        public static void CreateEsentBackgroundOpsDatabase(string dotGVFSRoot)
        {
            // Copies an ESENT DB with a single entry:
            // Operation=6 (OnFirstWrite) Path=.gitattributes VirtualPath=.gitattributes Id=1
            string testDataPath = GetTestDataPath(EsentBackgroundOpsFolder);
            string metadataPath = Path.Combine(dotGVFSRoot, EsentBackgroundOpsFolder);
            Directory.CreateDirectory(metadataPath);
            foreach (string filepath in Directory.EnumerateFiles(testDataPath))
            {
                string filename = Path.GetFileName(filepath);
                File.Copy(filepath, Path.Combine(metadataPath, filename));
            }
        }
    

开发者ID:microsoft,项目名称:VFSForGit,代码行数:15,代码来源:ESENTDatabase.cs

在CreateEsentBackgroundOpsDatabase()方法中,Directory的代码示例类中的EnumerateFiles的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

Directory.EnumerateFiles的代码示例4 - SecondCloneDoesNotDownloadAdditionalObjects()

    using System.IO;

        [TestCase]
        public void SecondCloneDoesNotDownloadAdditionalObjects()
        {
            GVFSFunctionalTestEnlistment enlistment1 = this.CloneAndMountEnlistment();
            File.ReadAllText(Path.Combine(enlistment1.RepoRoot, WellKnownFile));

            this.AlternatesFileShouldHaveGitObjectsRoot(enlistment1);

            string[] allObjects = Directory.EnumerateFiles(enlistment1.LocalCacheRoot, "*", SearchOption.AllDirectories).ToArray();

            GVFSFunctionalTestEnlistment enlistment2 = this.CloneAndMountEnlistment();
            File.ReadAllText(Path.Combine(enlistment2.RepoRoot, WellKnownFile));

            this.AlternatesFileShouldHaveGitObjectsRoot(enlistment2);

            enlistment2.LocalCacheRoot.ShouldEqual(enlistment1.LocalCacheRoot, "Sanity: Local cache roots are expected to match.");
            Directory.EnumerateFiles(enlistment2.LocalCacheRoot, "*", SearchOption.AllDirectories)
                .ShouldMatchInOrder(allObjects);
        }
    

开发者ID:microsoft,项目名称:VFSForGit,代码行数:21,代码来源:SharedCacheTests.cs

在SecondCloneDoesNotDownloadAdditionalObjects()方法中,Directory的代码示例类中的EnumerateFiles的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞

Directory.EnumerateFiles的代码示例5 - GetBeaconsFromDirectory()

    using System.IO;

        /// 
        /// Scan all files in a directory for Cobalt Strike beacons and output their configuration to the console.
        /// 
        /// 
        private static void GetBeaconsFromDirectory(string directory)
        {
            OutputMessageToConsole(LogLevel.Info, $"Scanning files in directory: {directory}\n");
            if (Directory.Exists(directory))
            {
                IEnumerable files = Directory.EnumerateFiles(directory);

                foreach (string fileName in files)
                {
                    GetBeaconsFromFile(fileName);
                }                   
            }
            else
            {
                OutputMessageToConsole(LogLevel.Error, $"Directory {directory} does not exist\n");
            }
        }
    

开发者ID:Apr4h,项目名称:CobaltStrikeScan,代码行数:23,代码来源:ConsoleUI.cs

在GetBeaconsFromDirectory()方法中,Directory的代码示例类中的EnumerateFiles的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

Directory.EnumerateFiles的代码示例6 - LockDirectory()

    using System.IO;

        /// 
        /// Locks all files, discovered at the time of method invocation, under the
        /// specified  from reads or writes.
        /// 
        public IDisposable LockDirectory(string directory)
        {
            directory = Path.Combine(Project.DirectoryPath, directory);
            var disposables = new List();
            foreach (var file in Directory.EnumerateFiles(directory, "*", SearchOption.AllDirectories))
            {
                disposables.Add(LockFile(file));
            }

            var disposable = new Mock();
            disposable.Setup(d => d.Dispose())
                .Callback(() => disposables.ForEach(d => d.Dispose()));

            return disposable.Object;
        }
    

开发者ID:aspnet,项目名称:Razor,代码行数:21,代码来源:MSBuildIntegrationTestBase.cs

在LockDirectory()方法中,Directory的代码示例类中的EnumerateFiles的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

Directory.EnumerateFiles的代码示例7 - AddDriversEx()

    using System.IO;

        /// 
        /// Adds third party drivers (.inf) from the specified directory to an offline Windows® image.
        /// 
        /// A valid DISM Session. The DISM Session must be associated with an image. You can associate a session with an image by using the  method.
        /// A relative or absolute path to a directory containing driver .inf files.
        /// Indicates whether to accept unsigned drivers to an x64-based image. Unsigned drivers will automatically be added to an x86-based image.
        /// true to search recursively for driver files, otherwise false.
        /// The directory specified by the  parameter does not exist.
        public static void AddDriversEx(DismSession session, string driverDirectory, bool forceUnsigned, bool recursive)
        {
            foreach (string driverPath in Directory.EnumerateFiles(driverDirectory, "*.inf", recursive ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly))
            {
                AddDriver(session, driverPath, forceUnsigned);
            }
        }
    

开发者ID:gus33000,项目名称:UUPMediaCreator,代码行数:17,代码来源:DismApi.AddDriver.cs

在AddDriversEx()方法中,Directory的代码示例类中的EnumerateFiles的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

Directory.EnumerateFiles的代码示例8 - GetCompDBsFromUUPFiles()

    using System.IO;
        public static List GetCompDBsFromUUPFiles(string UUPPath, TempManager tempManager)
        {
            List compDBs = new();

            try
            {
                IEnumerable? enumeratedFiles = Directory.EnumerateFiles(UUPPath, "*aggregatedmetadata*", new EnumerationOptions() { MatchCasing = MatchCasing.CaseInsensitive });
                if (enumeratedFiles.Any())
                {
                    string? cabFile = enumeratedFiles.First();

                    foreach (string? file in CabinetExtractor.EnumCabinetFiles(cabFile).Where(x => x.FileName.EndsWith(".xml.cab", StringComparison.InvariantCultureIgnoreCase)).Select(x => x.FileName))
                    {
                        try
                        {
                            string tmp = tempManager.GetTempPath();
                            File.WriteAllBytes(tmp, CabinetExtractor.ExtractCabinetFile(cabFile, file));

                            string filename = CabinetExtractor.EnumCabinetFiles(tmp).First().FileName;
                            byte[] xmlfile = CabinetExtractor.ExtractCabinetFile(tmp, filename);

                            using Stream xmlstream = new MemoryStream(xmlfile);
                            compDBs.Add(CompDBXmlClass.DeserializeCompDB(xmlstream));
                        }
                        catch
                        {
                        }
                    }
                }
                else
                {
                    IEnumerable files = Directory.EnumerateFiles(UUPPath).Select(x => Path.GetFileName(x)).Where(x => x.EndsWith(".xml.cab", StringComparison.InvariantCultureIgnoreCase));

                    foreach (string? file in files)
                    {
                        try
                        {
                            string? cabFile = Path.Combine(UUPPath, file);

                            byte[] xmlfile = CabinetExtractor.ExtractCabinetFile(cabFile, CabinetExtractor.EnumCabinetFiles(cabFile).First().FileName);

                            using Stream xmlstream = new MemoryStream(xmlfile);
                            compDBs.Add(CompDBXmlClass.DeserializeCompDB(xmlstream));
                        }
                        catch { }
                    }
                }
            }
            catch { }

            return compDBs;
        }
    

开发者ID:gus33000,项目名称:UUPMediaCreator,代码行数:53,代码来源:FileLocator.cs

在GetCompDBsFromUUPFiles()方法中,Directory的代码示例类中的EnumerateFiles的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞

本文中的Directory.EnumerateFiles方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。