Example #1
0
        /// <summary>
        /// 清除目錄下的檔案與子目錄
        /// </summary>
        /// <param name="directoryParam">目錄參數</param>
        /// <returns>是否成功</returns>
        public static bool CleanDirectory(DirectoryParam directoryParam)
        {
            try
            {
                // 取得目錄資訊
                DirectoryInfo dirInfo = new DirectoryInfo(directoryParam.Path);

                // 刪除檔案
                foreach (FileInfo file in dirInfo.GetFiles())
                {
                    file.Delete();
                }

                // 刪除目錄
                foreach (DirectoryInfo dir in dirInfo.GetDirectories())
                {
                    dir.Delete(true);
                }

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Example #2
0
        /// <summary>
        /// 搜尋目錄下的檔案
        /// </summary>
        /// <param name="directoryParam">檔案參數</param>
        /// <returns>檔案路徑清單</returns>
        public static List <string> GetFiles(DirectoryParam directoryParam)
        {
            List <string> files = new List <string>();

            try
            {
                // 回傳起始目錄下的檔案
                files.AddRange(Directory.GetFiles(directoryParam.Path, directoryParam.SearchPattern));
                if (!directoryParam.RecursivelySearch)
                {
                    return(files);
                }

                // 如果包含子目錄,遞迴搜尋子目錄
                string[] subDirectories = Directory.GetDirectories(directoryParam.Path);
                foreach (string directory in subDirectories)
                {
                    GetFilesRecursively(files, directory, directoryParam.SearchPattern);
                }

                return(files);
            }
            catch
            {
                return(files);
            }
        }
Example #3
0
        /// <summary>
        /// 搜尋目錄
        /// </summary>
        /// <param name="directoryParam">目錄路徑參數</param>
        /// <returns>檔案路徑清單</returns>
        public static List <string> GetDirectories(DirectoryParam directoryParam)
        {
            List <string> directories = new List <string>();

            try
            {
                directories.AddRange(Directory.GetDirectories(directoryParam.Path, directoryParam.SearchPattern));
            }
            catch (Exception exception)
            {
                Logger.LogError(exception.ToString());
            }

            return(directories);
        }
Example #4
0
        /// <summary>
        /// 建立目錄
        /// </summary>
        /// <param name="directoryParam">目錄路徑參數</param>
        /// <returns>成功回傳 true, 如果建立失敗則傳回 false</returns>
        public static bool CreateDirectory(DirectoryParam directoryParam)
        {
            Logger.LogInformation("path => " + directoryParam.Path);

            try
            {
                if (!Directory.Exists(directoryParam.Path))
                {
                    Directory.CreateDirectory(directoryParam.Path);
                    return(true);
                }

                return(false);
            }
            catch (Exception exception)
            {
                Logger.LogError(exception.ToString());

                return(false);
            }
        }