コード例 #1
0
        void ExtractDirectory(DiscDirectoryInfo Dinfo, string RootPath, string PathinISO)
        {
            if (!string.IsNullOrWhiteSpace(PathinISO))
            {
                PathinISO += "\\" + Dinfo.Name;
            }
            RootPath += "\\" + Dinfo.Name;
            AppendDirectory(RootPath);
            foreach (DiscDirectoryInfo dinfo in Dinfo.GetDirectories())
            {
                ExtractDirectory(dinfo, RootPath, PathinISO);
            }
            var test = Dinfo.GetFiles();

            foreach (DiscFileInfo finfo in test)
            {
                using (Stream FileStr = finfo.OpenRead())
                {
                    using (FileStream Fs = File.Create(RootPath + "\\" + finfo.Name))
                    {
                        Progress_Bar.Increment(1 / test.Length);
                        Progress_Number.Text = Progress_Bar.Value.ToString() + " %";
                        Progress_Number.Refresh();
                        FileStr.CopyTo(Fs, 8 * 1024);
                    }
                }
            }
        }