コード例 #1
0
 void searchFileAdd2List()
 {
     if (sJHCurrent != "" && subDir != "")
     {
         this.tssInfor.Text = "智能搜索路径:" + dirAtuoSelect;
         //遍历文件
         string[] files = Directory.GetFiles(dirAtuoSelect, "*.*", System.IO.SearchOption.AllDirectories);
         foreach (string NextFile in files)
         {
             if (NextFile.IndexOf(sJHCurrent) >= 0)
             {
                 //查找文件,添加到文件
                 if (NextFile.ToLower().IndexOf(sJHCurrent.ToLower()) >= 0)
                 {
                     DialogResult dialogResult = MessageBox.Show("目录下搜索到:  " + Path.GetFileName(NextFile) + Environment.NewLine + "路径: " + Path.GetFullPath(NextFile) + Environment.NewLine + "是否添加到资料库?", sJHCurrent + " 智能查找", MessageBoxButtons.YesNo);
                     if (dialogResult == DialogResult.Yes)
                     {
                         addFile(NextFile);
                     }
                 }
             }
         }
     }
     else
     {
         MessageBox.Show("请选择操作目标路径。");
     }
     //在目录下迭代搜索井号相似文件
 }
コード例 #2
0
ファイル: FileWorkMain.cs プロジェクト: wanghan79/2019_CSharp
        //转到给定路径
        private void bt_Goto_Click(object sender, EventArgs e)
        {
            tb_SearchFile.Text      = "请输入搜索内容!";
            tb_SearchFile.ForeColor = Color.Gray;
            if (tb_FilePath.Text == "请输入路径!" || tb_FilePath.Text == "")
            {
                MessageBox.Show("路径为空!");
                tb_FilePath.Text      = "请输入路径!";
                tb_FilePath.ForeColor = Color.Gray;
            }
            else
            {
                m_strPath = tb_FilePath.Text;
                DirectoryInfo TheFolder = new DirectoryInfo(m_strPath);
                if (TheFolder.Exists)
                {
                    lvw_FileList.Items.Clear();
                    foreach (System.IO.FileInfo NextFile in TheFolder.GetFiles())
                    {
                        ListViewItem item = new ListViewItem();

                        item.Text = NextFile.ToString();
                        item.SubItems.Add(NextFile.LastAccessTime.ToString());
                        item.SubItems.Add(GetFileType(NextFile.Name));

                        lvw_FileList.Items.Add(item);
                    }
                    tb_FilePath.Text = "当前路径:" + tb_FilePath.Text;
                }
                else
                {
                    MessageBox.Show("路径不存在,请重新输入!");
                }
            }
        }
コード例 #3
0
ファイル: Utils.cs プロジェクト: yx-W/paper_checking_system
        /*
         * 删除数据并无视异常
         */
        static public void DeleteOldFile()
        {
            try
            {
                DirectoryInfo floder   = new DirectoryInfo(RunningEnv.ProgramParam.ToCheckTxtPaperPath);
                FileInfo[]    fileInfo = floder.GetFiles();
                foreach (FileInfo NextFile in fileInfo)
                {
                    NextFile.Delete();
                }

                floder   = new DirectoryInfo(RunningEnv.ProgramParam.ReportPath);
                fileInfo = floder.GetFiles();
                foreach (FileInfo NextFile in fileInfo)
                {
                    NextFile.Delete();
                }

                floder   = new DirectoryInfo(RunningEnv.ProgramParam.ReportDataPath);
                fileInfo = floder.GetFiles();
                foreach (FileInfo NextFile in fileInfo)
                {
                    NextFile.Delete();
                }
            }
            catch
            { }
        }
コード例 #4
0
 public static void Delete(int day)
 {
     if (day > 0)
     {
         DateTime keepDay = DateTime.Now.AddDays(-day);
         //if (string.IsNullOrEmpty(saveFolder))
         //{
         //    DBHelper db = new DBHelper();
         //    DataTable dt = db.RunTxtDataTable("select * from TN_SyncStrategy");
         //    saveFolder = dt.Rows[0]["Col_LogFilePath"].ToString();
         //}
         string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "C:\\");
         if (Directory.Exists(filePath))
         {
             DirectoryInfo d        = new DirectoryInfo(filePath);
             FileInfo[]    fileInfo = d.GetFiles();
             foreach (FileInfo NextFile in fileInfo)  //遍历文件
             {
                 DateTime createtime = NextFile.CreationTime;
                 if (DateTime.Compare(createtime, keepDay) < 0)
                 {
                     AddLog("删除日志文件" + NextFile.Name);
                     NextFile.Delete();
                 }
             }
         }
     }
 }
コード例 #5
0
        /// <summary>
        /// 选择壁纸保存路径
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void savePathBox_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            string nowSavePath = this.savePathBox.Text;

            FolderBrowserDialog dialog = new FolderBrowserDialog();

            dialog.Description = "请选择壁纸存放路径";
            object isOk = dialog.ShowDialog();

            if (isOk.ToString().Equals("OK"))
            {
                string newPath = dialog.SelectedPath;
                this.savePathBox.Text = newPath;

                // 目录改变,移动已保存的壁纸
                if (!nowSavePath.Equals("") && !nowSavePath.Equals(newPath))
                {
                    DirectoryInfo TheFolder = new DirectoryInfo(nowSavePath);
                    foreach (FileInfo NextFile in TheFolder.GetFiles())
                    {
                        NextFile.MoveTo(newPath + NextFile.FullName);
                    }

                    Directory.Delete(nowSavePath, true);
                }

                this.setConfig("savePath", newPath);
            }
            // 复制聚焦壁纸
            this.copyWallpaper(true);
        }
コード例 #6
0
 public void delete_check_data_file()
 {
     try
     {
         DirectoryInfo textFolder33 = new DirectoryInfo(to_check_txt_paper);
         DirectoryInfo textFolder11 = new DirectoryInfo(report);
         DirectoryInfo textFolder22 = new DirectoryInfo(report_data);
         FileInfo[]    fileInfo     = textFolder33.GetFiles();
         foreach (FileInfo NextFile in fileInfo)
         {
             NextFile.Delete();
         }
         fileInfo = textFolder11.GetFiles();
         foreach (FileInfo NextFile in fileInfo)
         {
             NextFile.Delete();
         }
         fileInfo = textFolder22.GetFiles();
         foreach (FileInfo NextFile in fileInfo)
         {
             NextFile.Delete();
         }
     }
     catch
     {}
 }
コード例 #7
0
ファイル: ImageTiny.cs プロジェクト: lsx1994/imagepacker
 static byte[] TinyPasswordByte = BitConverter.GetBytes(TinyPasswordInt);    //密码缓存
 //开始压缩图片
 public static void TinyPng(string path, DirectoryInfo theFolder)
 {
     if (theFolder == null)
     {
         theFolder = new DirectoryInfo(@path);
     }
     //遍历文件
     foreach (FileInfo NextFile in theFolder.GetFiles())
     {
         string strType = NextFile.Extension.ToLower();
         if (strType == ".png" || strType == ".jpg") //只判断图片
         {
             var fileData = NextFile.OpenRead();
             //读取密码
             fileData.Seek(-8, SeekOrigin.End);
             fileData.Read(ulongRead, 0, 8);
             fileData.Close();
             if (TinyPasswordInt != System.BitConverter.ToUInt64(ulongRead, 0))
             {
                 //没找到密码说明是新的
                 TinyCmdList.Add("./pngquant/pngquant " + Util.config.TinyParm + " " + NextFile.FullName + " --ext .png --force --skip-if-larger");
                 TinyFileList.Add(NextFile.FullName, (int)NextFile.Length);
             }
         }
     }
     //遍历文件夹
     foreach (DirectoryInfo NextFolder in theFolder.GetDirectories())
     {
         TinyPng(NextFolder.FullName, NextFolder);
     }
 }
コード例 #8
0
ファイル: Program.cs プロジェクト: hjieking/-Socket
        /// <summary>
        /// 只能对某个文件夹进行遍历
        /// </summary>
        public static void ScanDirectoryInfo()
        {
            DirectoryInfo theFolder = new DirectoryInfo(@"D:\temp");

            DirectoryInfo[] dirInfo = theFolder.GetDirectories();

            foreach (DirectoryInfo NextFolder in dirInfo)//遍历文件夹
            {
                FileInfo[] fileInfo = NextFolder.GetFiles();
                foreach (FileInfo NextFile in fileInfo)  //遍历文件
                {
                    if (Path.GetExtension(NextFile.ToString()) == ".exe")
                    {
                        temppath.Add(NextFile.FullName);
                        Console.WriteLine(NextFile.FullName);
                        count++;
                    }
                }
            }
            #region MyRegion
            //for (int i = 0; i < count; i++)
            //{
            //    string temp = temppath[i].ToString();
            //    int len = temp.Length;
            //    finallypath.Add(temppath[i].ToString().Substring(0, len - 4));
            //    lastpath.Add(finallypath[i] + ".jpg");
            //}
            //for (int i = 0; i < count; i++)
            //{
            //    File.Copy(temppath[i].ToString(), lastpath[i].ToString());
            //    File.Delete(temppath[i].ToString());
            //}
            //MessageBox.Show("转换完成!");
            #endregion
        }
        private void cleanPicture()
        {
            try
            {
                string        path      = Environment.CurrentDirectory + @"\picture";
                DirectoryInfo TheFolder = new DirectoryInfo(path);
                foreach (FileInfo NextFile in TheFolder.GetFiles())//遍历文件
                {
                    string fileName = (NextFile.Name);
                    if (fileName == "defaultAvatar.jpg")
                    {
                        continue;
                    }

                    string[] s = fileName.Split(new string[] { "_" }, StringSplitOptions.RemoveEmptyEntries);
                    if (s.Length != 2)
                    {
                        NextFile.Delete();
                        continue;
                    }
                    UInt32 uID      = (UInt32)Convert.ToInt32(s[0]); //用户号
                    string userName = s[1].Replace(".jpg", "");      //姓名
                    int    index    = personnelManagement.uIDtoIndex(uID);

                    if ((index < 0) || (personnelManagement.PersonList[index].name != userName))
                    {
                        NextFile.Delete();
                    }
                }
            }
            catch (Exception ex)
            {
                output(ex.Message);
            }
        }
コード例 #10
0
ファイル: Common.cs プロジェクト: led-os/unity_kidsgame
    static public void CleanCache()
    {
        if (Common.isWeb)
        {
            return;
        }
        string path = GetCachePath();

        if (BlankString(path))
        {
            return;
        }
        // C#遍历指定文件夹中的所有文件
        DirectoryInfo TheFolder = new DirectoryInfo(path);

        // //遍历文件夹
        // foreach(DirectoryInfo NextFolder in TheFolder.GetDirectories())
        //    this.listBox1.Items.Add(NextFolder.Name);
        // //遍历文件
        foreach (FileInfo NextFile in TheFolder.GetFiles())
        {
            NextFile.Delete();
        }
        //    this.listBox2.Items.Add(NextFile.Name);
    }
コード例 #11
0
        /// <summary>
        /// 清理全部过期图片
        /// </summary>
        public ResultJson ClearAllTempImage()
        {
            var url       = HttpContext.Current.Server.MapPath("/current/images/temp");
            var ClearTime = MemCacheHelper2.Instance.Cache.GetModel <DateTime?>("ClearTime");
            var flag      = false;

            #region 查看是否到清理时间
            if (ClearTime != null)
            {
                if (ClearTime.Value.Day != DateTime.Now.Day)
                {
                    flag = true;
                    MemCacheHelper2.Instance.Cache.Set("ClearTime", DateTime.Now);
                }
            }
            else
            {
                MemCacheHelper2.Instance.Cache.Set("ClearTime", DateTime.Now);
                flag = true;
            }
            #endregion
            if (flag)
            {
                #region 清除临时文件夹下超过3天的图片;
                DirectoryInfo TheFolder = new DirectoryInfo(url);
                foreach (FileInfo NextFile in TheFolder.GetFiles())
                {
                    if (DateTime.Now.Subtract(NextFile.CreationTime).TotalDays > 3)
                    {
                        NextFile.Delete();
                    }
                }
                #endregion

                #region 清除超过三天历史设计的图片(没有登入的用户)
                var Listhisdesign = HisdesignFunc.Instance.GetAllHisdesignInfo();
                foreach (var item in Listhisdesign)
                {
                    var deleteFlag = false;
                    if (item.LastLookTime.Value == null)
                    {
                        deleteFlag = true;
                    }
                    else if (DateTime.Now.Subtract(item.LastLookTime.Value).TotalDays > 3 && item.UserID == null)
                    {
                        deleteFlag = true;
                    }
                    if (deleteFlag)
                    {
                        var dirFile = $"/current/images/Order/{item.Id}";
                        FileHelper.Instance.DelectDir(HttpContext.Current.Server.MapPath(dirFile));
                        HisdesignFunc.Instance.DeleteHisdesignById(item.Id);
                    }
                }
                #endregion
            }
            return(new ResultJson {
                HttpCode = 200, Message = "删除成功!"
            });
        }
コード例 #12
0
ファイル: FileWorkMain.cs プロジェクト: wanghan79/2019_CSharp
        //点击查询
        private void bt_Search_Click(object sender, EventArgs e)
        {
            if (tb_SearchFile.Text == "请输入搜索内容!" || tb_SearchFile.Text == "")
            {
                MessageBox.Show("搜索内容为空!");
                tb_SearchFile.Text      = "请输入搜索内容!";
                tb_SearchFile.ForeColor = Color.Gray;
            }
            else
            {
                DirectoryInfo TheFolder = new DirectoryInfo(m_strPath);
                //遍历文件
                if (TheFolder.Exists)
                {
                    lvw_FileList.Items.Clear();
                    foreach (System.IO.FileInfo NextFile in TheFolder.GetFiles())
                    {
                        if (NextFile.ToString().Contains(tb_SearchFile.Text))
                        {
                            ListViewItem item = new ListViewItem();

                            item.Text = NextFile.ToString();
                            item.SubItems.Add(NextFile.LastAccessTime.ToString());
                            item.SubItems.Add(GetFileType(NextFile.Name));

                            lvw_FileList.Items.Add(item);
                        }
                    }
                }
                tb_SearchFile.Text = "当前搜索内容:" + tb_SearchFile.Text;
            }
        }
コード例 #13
0
ファイル: AssetBundleBuilder.cs プロジェクト: willFuRoy/Unity
    static void DeleteTxt(string path)
    {
        DirectoryInfo directory = new DirectoryInfo(path);

        foreach (var NextFile in directory.GetFiles("*.txt", SearchOption.AllDirectories))
        {
            NextFile.Delete();
        }
    }
コード例 #14
0
ファイル: TarFile.cs プロジェクト: Kuinox/dotnettar
 public TarFile(TarEntry entry)
 {
     if (!entry.CanRead)
     {
         throw new ArgumentException("Can't read stream");
     }
     _callback     = () => null;
     _actualStream = entry;
 }
コード例 #15
0
ファイル: TarFile.cs プロジェクト: Kuinox/dotnettar
 public TarFile(NextFile callback)
 {
     _callback     = callback;
     _actualStream = _callback();
     if (!_actualStream.CanRead)
     {
         throw new ArgumentException("Stream given by callback is not readable");
     }
 }
コード例 #16
0
    void CreateGuankaJsonFile()
    {
        string strPlace    = "树木";
        string path        = Application.streamingAssetsPath + "/" + Common.GAME_RES_DIR + "/image/" + strPlace;
        string path_new    = path + "_new";
        int    width_save  = 1024;
        int    height_save = 768;

        //创建文件夹
        Directory.CreateDirectory(path_new);

        listGuankaJson = new List <GuankaJsonItemInfo>();
        // C#遍历指定文件夹中的所有文件
        DirectoryInfo TheFolder = new DirectoryInfo(path);
        int           idx       = 0;

        // //遍历文件
        foreach (FileInfo NextFile in TheFolder.GetFiles())
        {
            string fullpath = NextFile.ToString();
            //1.jpg
            // Debug.Log(NextFile.Name);
            string ext = FileUtil.GetFileExt(fullpath);
            if ((ext == "png") || (ext == "jpg"))
            {
                string name         = idx.ToString() + "." + ext;
                string filepath_new = NextFile.ToString();
                //重命名
                //filepath_new = path + "/" + name;
                // NextFile.MoveTo(filepath_new);

                GuankaJsonItemInfo info = new GuankaJsonItemInfo();
                //info.pic = NextFile.Name;
                info.id = FileUtil.GetFileName(NextFile.Name);
                listGuankaJson.Add(info);

                idx++;
            }
        }

        //save guanka json
        {
            Hashtable data = new Hashtable();
            data["place"] = strPlace;
            data["items"] = listGuankaJson;
            string strJson = JsonMapper.ToJson(data);
            //Debug.Log(strJson);
            string filepath = path_new + "/guanka.json";
            byte[] bytes    = Encoding.UTF8.GetBytes(strJson);
            System.IO.File.WriteAllBytes(filepath, bytes);
        }

        Debug.Log("CreateGuankaJsonFile Finished");
    }
コード例 #17
0
        static void DeleteExtTxt(DirectoryInfo folder, string pattern)
        {
            foreach (var NextFile in folder.GetFiles(pattern + ".txt"))
            {
                NextFile.Delete();
            }

            foreach (DirectoryInfo next in folder.GetDirectories())
            {
                DeleteExtTxt(next, pattern);
            }
        }
コード例 #18
0
ファイル: FileWorkMain.cs プロジェクト: wanghan79/2019_CSharp
        public static void SearchInSubfolders(object obj)
        {
            FileWorkMain thisform = (FileWorkMain)obj;
            string       text     = thisform.tb_SearchFile.Text;

            DirectoryInfo TheFolder = new DirectoryInfo(m_strPath);

            DirectoryInfo[] Subfolders = TheFolder.GetDirectories();

            if (thisform.InvokeRequired)
            {
                RefreshFileList delegateFunc = new RefreshFileList(SearchInSubfolders);
                thisform.Invoke(delegateFunc, thisform);
            }
            else
            {
                try
                {
                    for (int i = 0; i < Subfolders.Length; i++)
                    {
                        thisform.pgb_isFinish.Value += thisform.pgb_isFinish.Step;
                        foreach (System.IO.FileInfo NextFile in Subfolders[i].GetFiles())
                        {
                            if (text != "请输入搜索内容!")
                            {
                                if (NextFile.ToString().Contains(text))
                                {
                                    ListViewItem item = new ListViewItem
                                    {
                                        Text = NextFile.FullName
                                    };
                                    item.SubItems.Add(NextFile.LastAccessTime.ToString());
                                    item.SubItems.Add(GetFileType(NextFile.Name));

                                    thisform.lvw_FileList.Items.Add(item);
                                }
                            }
                            else
                            {
                                ListViewItem item = new ListViewItem();

                                item.Text = NextFile.FullName;
                                item.SubItems.Add(NextFile.LastAccessTime.ToString());
                                item.SubItems.Add(GetFileType(NextFile.Name));

                                thisform.lvw_FileList.Items.Add(item);
                            }
                        }
                    }
                }
                catch { }
            }
        }
コード例 #19
0
ファイル: KeyBind.cs プロジェクト: zero3up/ImageView
        /// <summary>
        /// コンストラクタ
        /// </summary>
        public KeyBind(ImageOperation imgope)
        {
            // TODO:仮のキーバインド
            dictionary.Add(KeyList.MouseLeftClick, ActionList.None);
            dictionary.Add(KeyList.MouseRightClick, ActionList.None);
            dictionary.Add(KeyList.MouseLeftDoubleClick, ActionList.NextFile);
            dictionary.Add(KeyList.MouseRightDoubleClick, ActionList.PrevFile);
            dictionary.Add(KeyList.MouseScrollUp, ActionList.Prev);
            dictionary.Add(KeyList.MouseScrollDown, ActionList.Next);

            next     = new Next(imgope.Next);
            prev     = new Prev(imgope.Prev);
            nextfile = new NextFile(imgope.NextFile);
            prevfile = new PrevFile(imgope.PrevFile);
        }
コード例 #20
0
        /// <summary>
        /// 删除文件夹下所有内容
        /// </summary>
        /// <param name="folder"></param>
        private void DeleteFolder(DirectoryInfo folder)
        {
            FileInfo[] fileInfo = folder.GetFiles();
            //遍历文件
            foreach (FileInfo NextFile in fileInfo)
            {
                NextFile.Delete();
            }

            DirectoryInfo[] folders = folder.GetDirectories();
            foreach (var item in folders)
            {
                DeleteFolder(item);
            }
            folder.Delete();
        }
コード例 #21
0
        private void button1_Click(object sender, EventArgs e)
        {
            Random        rand      = new Random(DateTime.Now.Second);
            string        dir       = textBox2.Text;
            string        pfx       = textBox3.Text;
            string        ext       = textBox4.Text;
            DirectoryInfo TheFolder = new DirectoryInfo(dir);

            //遍历文件
            foreach (FileInfo NextFile in TheFolder.GetFiles("*" + ext))
            {
                string NewFilename = string.Format("{0}\\{1}{2}{3}", dir, pfx, rand.NextDouble().ToString().Substring(2, 10), ext);
                textBox1.Text += string.Format("Old:{0} new:{1}\r\n", NextFile.FullName, NewFilename);
                NextFile.MoveTo(NewFilename);
            }
            //this.listBox2.Items.Add(NextFile.Name);
        }
コード例 #22
0
ファイル: Form1.cs プロジェクト: zwxscience/dumpfilekiller
        private void dealfile(DirectoryInfo theFolder)
        {
            DirectoryInfo[] dirInfo = theFolder.GetDirectories();
            foreach (FileInfo NextFile in theFolder.GetFiles())  //遍历文件
            {
                if (!IsFileType(NextFile))
                {
                    continue;
                }
                fileIndex++;
                this.label1.Text = "正在处理第 " + fileIndex + " 个文件";
                System.Windows.Forms.Application.DoEvents();
                string fileKey = getFileKey(NextFile);//via fileName and size to identidy file
                if (!fileInfo.Keys.Contains(fileKey))
                {
                    fileInfo.Add(fileKey, NextFile.FullName);
                }
                else
                {
                    string text = "文件序号" + fileIndex + ":" + NextFile.Name + ",大小:" + NextFile.Length + "字节。";
                    this.textBox1.Text += text + "是重复文件。\r\n";
                    if (Directory.Exists(dumpfilefolderName) == false)//如果不存在就创建文件夹
                    {
                        Directory.CreateDirectory(dumpfilefolderName);
                    }
                    //将重复文件剪切到指定文件夹
                    try
                    {
                        WriteFile(dumpfilefolderName + @"\movelog.txt", text + "保留原始文件" + fileInfo[fileKey] + ",来自" + NextFile.FullName + "被移出。");
                        string fileNewName = NextFile.Name.Substring(0, NextFile.Name.IndexOf(".")) + NextFile.Length + NextFile.Name.Substring(NextFile.Name.IndexOf("."), NextFile.Name.Length - NextFile.Name.IndexOf("."));
                        NextFile.MoveTo(dumpfilefolderName + @"\" + fileNewName);
                        dupfiles++;
                        savebit += NextFile.Length;
                    }
                    catch { }
                }

                // this.listBox2.Items.Add();
            }
            //递归遍历文件夹

            foreach (DirectoryInfo NextFolder in dirInfo)
            {
                dealfile(NextFolder);
            }
        }
コード例 #23
0
ファイル: FileWorkMain.cs プロジェクト: wanghan79/2019_CSharp
        public static void SearchFiles(ListView FileList, string text = "请输入搜索内容!")
        {
            DirectoryInfo TheFolder = new DirectoryInfo(m_strPath);

            DirectoryInfo[] Subfolders = TheFolder.GetDirectories();

            if (TheFolder.Exists)
            {
                try
                {
                    FileList.Items.Clear();
                    foreach (System.IO.FileInfo NextFile in TheFolder.GetFiles())
                    {
                        if (text != "请输入搜索内容!")
                        {
                            if (NextFile.ToString().Contains(text))
                            {
                                ListViewItem item = new ListViewItem();

                                item.Text = NextFile.Name;
                                item.SubItems.Add(NextFile.LastAccessTime.ToString());
                                item.SubItems.Add(GetFileType(NextFile.Name));

                                FileList.Items.Add(item);
                            }
                        }
                        else
                        {
                            ListViewItem item = new ListViewItem();

                            item.Text = NextFile.Name;
                            item.SubItems.Add(NextFile.LastAccessTime.ToString());
                            item.SubItems.Add(GetFileType(NextFile.Name));

                            FileList.Items.Add(item);
                        }
                    }
                }
                catch { }
            }
            else
            {
                MessageBox.Show("文件夹不存在");
            }
        }
コード例 #24
0
        public static void DeleteDirectory(string dir)
        {
            DirectoryInfo theFolder = new DirectoryInfo(dir);

            //删除子文件
            FileInfo[] fileInfo = theFolder.GetFiles();
            foreach (FileInfo NextFile in fileInfo) //遍历文件
            {
                NextFile.Delete();
            }
            //删除子文件夹
            DirectoryInfo[] dirInfo = theFolder.GetDirectories();
            //遍历文件夹
            foreach (DirectoryInfo NextFolder in dirInfo)
            {
                DeleteDirectory(NextFolder.FullName);
            }

            Directory.Delete(dir);
        }
コード例 #25
0
        private void label2_Click(object sender, EventArgs e)
        {
            int           num       = 0;
            long          length    = 0;
            DirectoryInfo TheFolder = new DirectoryInfo(System.Windows.Forms.Application.StartupPath + "\\bin");

            //遍历文件
            foreach (FileInfo NextFile in TheFolder.GetFiles())
            {
                if (NextFile.Name.Contains("模板") || NextFile.Name.Contains("~$"))
                {
                    length += NextFile.Length;
                    NextFile.Delete();
                    num += 1;
                }
            }
            var value = CountSize(length);

            MessageBox.Show("删除了" + num.ToString() + "个" + value + "文件");
        }
コード例 #26
0
        public static void ClearManifestFile()
        {
            string        path      = Path.Combine(System.Environment.CurrentDirectory, outputPath);
            DirectoryInfo TheFolder = new DirectoryInfo(path);
            float         p         = 0.2f;

            //遍历文件夹
            foreach (FileInfo NextFile in TheFolder.GetFiles())
            {
                if (NextFile.Name.EndsWith(".manifest"))
                {
                    p = p > 1.0f ? 0.2f : (p + 0.2f);
                    // Debug.Log("clear file name: "+ NextFile.Name);
                    EditorUtility.DisplayProgressBar("清理manifest", NextFile.Name, p);
                    NextFile.Delete();
                }
            }

            EditorUtility.ClearProgressBar();
        }
コード例 #27
0
ファイル: AsyncImageDownload.cs プロジェクト: mengtest/wh
    //获取本地图片及保存时间如果大于7天删除
    public void ClearPic()
    {
        //List<string> list = new List<string>();
        DirectoryInfo theFolder = new DirectoryInfo(path);
        string        time      = "";
        string        nowTime   = GetTimeStamp(DateTime.Now);

        //遍历文件获取文件名
        foreach (FileInfo NextFile in theFolder.GetFiles())
        {
            //list.Add(NextFile.Name);
            time = PlayerPrefs.GetString(NextFile.Name);
            if (time != "")
            {
                if (int.Parse(nowTime) - int.Parse(time) > 60)
                {
                    NextFile.Delete();
                    PlayerPrefs.DeleteKey(NextFile.Name);
                }
            }
        }
    }
コード例 #28
0
ファイル: PackerPlist.cs プロジェクト: lsx1994/imagepacker
        static void ClearPlist(string path, DirectoryInfo theFolder)
        {
            if (theFolder == null)
            {
                if (!Directory.Exists(path))    //文件夹不存在
                {
                    return;
                }
                theFolder       = new DirectoryInfo(@path);
                FirstOutDirHead = theFolder.Name;
            }
            else
            {
                var strFolder = Util.config.PlistLoadDir + "\\" + theFolder.FullName.Remove(0, theFolder.FullName.IndexOf(FirstOutDirHead) + FirstOutDirHead.Length + 1);
                if (!Directory.Exists(strFolder)) //源文件夹没这个目录,直接删除
                {
                    theFolder.Delete(true);
                    return;
                }
            }


            //遍历文件
            foreach (FileInfo NextFile in theFolder.GetFiles())
            {
                string strType = NextFile.Extension.ToLower();
                if (strType == ".png" || strType == ".jpg" || strType == ".plist")
                {
                    NextFile.Delete();
                }
            }

            //遍历文件夹
            foreach (DirectoryInfo NextFolder in theFolder.GetDirectories())
            {
                ClearPlist(NextFolder.FullName, NextFolder);
            }
        }
コード例 #29
0
ファイル: Program.cs プロジェクト: hjieking/-Socket
        /// <summary>
        /// 自己实现文件遍历包括文件夹
        /// </summary>
        /// <param name="theFolder"></param>
        /// <param name="path"></param>
        public static void ScanInfo(DirectoryInfo theFolder, string path)
        {
            theFolder = new DirectoryInfo(@"" + path + "");
            DirectoryInfo[] dirInfo = theFolder.GetDirectories(); //只能获取文件夹

            foreach (DirectoryInfo NextFolder in dirInfo)         //只获取文件夹
            {
                ScanInfo(NextFolder, NextFolder.FullName);
            }

            FileInfo[] fileInfo = theFolder.GetFiles(); //获取文件
            Console.WriteLine(theFolder.FullName);      //获取文件夹目录
            foreach (FileInfo NextFile in fileInfo)     //遍历文件
            {
                bool ss = Path.GetExtension(NextFile.ToString()).Contains(".");
                if (ss)
                {
                    temppath.Add(NextFile.FullName);
                    Console.WriteLine(NextFile.FullName);
                    count++;
                }
            }
        }
コード例 #30
0
ファイル: PackerPlist.cs プロジェクト: lsx1994/imagepacker
        static byte[] PlistPasswordByte = BitConverter.GetBytes(PlistPasswordInt);  //密码缓存
        public static void PackPlist(string path, DirectoryInfo theFolder)
        {
            string outFolder; //输出目录
            string head = "";

            if (theFolder == null)
            {
                theFolder        = new DirectoryInfo(@path);
                outFolder        = Util.config.PlistOutDir + "\\"; //目标文件夹
                FirstLoadDirHead = theFolder.Name;                 //主目录
            }
            else
            {
                head      = theFolder.FullName.Remove(0, theFolder.FullName.IndexOf(FirstLoadDirHead) + FirstLoadDirHead.Length + 1);
                outFolder = Util.config.PlistOutDir + "\\" + head + "\\"; //目标文件夹
            }
            //目标文件夹不存在就创建
            if (!Directory.Exists(outFolder))
            {
                Directory.CreateDirectory(outFolder);
            }
            bool IsPlistChange    = false;  //图集图片发生改变
            bool IsHaveImage      = false;  //目录下是否有图片
            bool IsHavePlistImage = false;  //是否有需要打包的图片
            int  ImageWidth       = 0;      //图片宽度
            int  ImageHeight      = 0;      //图片高度

            //遍历文件夹
            foreach (DirectoryInfo NextFolder in theFolder.GetDirectories())
            {
                PackPlist(NextFolder.FullName, NextFolder);
            }

            List <string> ImageRecord = null;

            FolderImageRecord.TryGetValue(head, out ImageRecord);
            //遍历文件
            foreach (FileInfo NextFile in theFolder.GetFiles())
            {
                string strType = NextFile.Extension.ToLower();
                if (strType == ".png" || strType == ".jpg") //只判断图片
                {
                    IsHaveImage = true;
                    bool IsNewImage = false;
                    var  fileData   = NextFile.Open(FileMode.Open);
                    //读取密码
                    fileData.Seek(-8, SeekOrigin.End);
                    fileData.Read(ulongRead, 0, 8);
                    if (PlistPasswordInt != System.BitConverter.ToUInt64(ulongRead, 0))
                    {
                        //没找到密码说明是新的
                        IsNewImage = true;
                        fileData.Seek(0, SeekOrigin.End);
                        fileData.Write(PlistPasswordByte, 0, 8);
                    }
                    //从缓存中取出数据
                    string key  = head + "\\" + NextFile.Name + "_" + fileData.Length;
                    string data = null;
                    if (ImageRecord != null)
                    {
                        ImageRecord.Remove(key);
                    }
                    if (OldImageInfo != null)
                    {
                        OldImageInfo.TryGetValue(key, out data);
                    }
                    if (data != null)
                    {
                        //找到缓存了
                        NewImageInfo.Add(key, data);
                        var value = data.Split('|');
                        ImageWidth  = int.Parse(value[0]);
                        ImageHeight = int.Parse(value[1]);
                    }
                    else
                    {
                        //没缓存,是新图片
                        IsNewImage = true;
                        System.Drawing.Image image = System.Drawing.Image.FromStream(fileData);
                        ImageWidth  = image.Width;
                        ImageHeight = image.Height;
                        NewImageInfo.Add(key, ImageWidth + "|" + ImageHeight);
                    }
                    //关闭文件
                    fileData.Close();
                    //大图需要剪切
                    if (Util.config.OnlyCopyFiles.IndexOf(NextFile.Name) >= 0 ||
                        (ImageHeight >= Util.config.CopyFileHeight && ImageWidth >= Util.config.CopyFileWidth))
                    {
                        string strSrc  = NextFile.FullName;
                        string strDesc = outFolder + Util.GetTimeStamp() + "_" + NextFile.Name;
                        string strCopy = outFolder + NextFile.Name;
                        File.Move(strSrc, strDesc);
                        ImageMoveMap.Add(strSrc, strDesc);
                        //目标位置没有图片
                        if (!File.Exists(strCopy))
                        {
                            File.Copy(strDesc, strCopy);
                            LogOut.Add("ImageCopy: " + strCopy);
                        }
                    }
                    else
                    {
                        IsHavePlistImage = true;
                        if (IsNewImage)
                        {
                            //小图需要合并图集
                            IsPlistChange = true;
                        }
                    }
                }
            }

            //有图片被删掉了,强制生成
            if (ImageRecord != null && ImageRecord.Count > 0)
            {
                IsPlistChange = true;
            }

            //导出的名字
            string PlistName = theFolder.Name;

            if (FirstLoadDirHead == PlistName)
            {
                PlistName = Util.config.PlistOutDir;
                PlistName = PlistName.Remove(0, PlistName.LastIndexOf("\\") + 1);
            }
            //plist是否存在
            if (!IsPlistChange && IsHavePlistImage && (!File.Exists(outFolder + PlistName + ".png") || !File.Exists(outFolder + PlistName + ".plist")))
            {
                IsPlistChange = true;
            }
            //必须有图片,有改变或者强制才导出图集
            if (IsHaveImage && (IsPlistChange || Util.config.IsForceOutPlist))
            {
                int MaxPlistSize = Util.config.MaxPlistSize;
                if (Util.config.OnlyOnePlist.IndexOf(head) >= 0) //判断是否单图模式
                {
                    MaxPlistSize = 16384;
                }
                //为了优化时间,只有在添加满足图集条件的新图片时才导出, 删除图片不检测。
                //--multipack  \"{n1}\" 多图模式有问题,不要用,分子文件夹
                LogOut.Add("PackPlist: " + path + " PlistSize: " + MaxPlistSize);
                string cmd = "./TexturePacker/bin/TexturePacker --allow-free-size --opt RGBA8888 --format cocos2d --enable-rotation --trim-sprite-names";
                if (!Util.config.IsForceOutPlist)
                {
                    cmd += " --smart-update";                          //强制导出模式
                }
                cmd += " --ignore-files */" + theFolder.Name + "/*/*"; //忽略子文件夹
                cmd += " --max-size " + MaxPlistSize;                  //图集最大尺寸
                cmd += " --sheet " + outFolder + PlistName + ".png";   //图片
                cmd += " --data " + outFolder + PlistName + ".plist";  //plist
                cmd += " " + path;                                     //来源
                PlistCmdList.Add(cmd);
            }
        }