none
哪个类可以对zip解压? RRS feed

  • 问题

  • 我从千库网下载了许多背景音乐,都是zip且都在同一文件夹中,每个中都有mp3和wav两种。

    我的目标就是把每个zip中的mp3放到另一个文件夹中,过程请大佬明示,谢谢。

    2021年2月20日 5:31

答案

  • 你好,

    你可以参照下面的代码示例去对文件夹中的zip文件进行解压并且将mp3放到指定文件夹中。

                var files = Directory.GetFiles("E:\\music", "*.*", SearchOption.AllDirectories)
                .Where(s => s.EndsWith(".zip"));
                string filename = string.Empty;
                string expath = string.Empty;
                foreach (var item in files)
                {
                    filename = Path.GetFileNameWithoutExtension(item);
                    expath = Path.Combine("E:\\music", filename);
                    ZipFile.ExtractToDirectory(item, expath);    //解压所有的zip文件
                }
                string mp3path= Path.Combine("E:\\music", "mp3");
                Directory.CreateDirectory(mp3path);             //创建mp3文件夹
                var mp3files = Directory.GetFiles("E:\\music", "*.*", SearchOption.AllDirectories)
                .Where(s => s.EndsWith(".mp3"));
                foreach (var item in mp3files)
                {
                    File.Move(item, Path.Combine("E:\\music","mp3", Path.GetFileName(item))); //将所有mp3文件转到mp3文件夹下
                }

    其中有一些注释,你也可以看下,如有不解之处,请随时告知我。

    Best Regards,

    Jack


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.


    2021年2月22日 5:20
    版主

全部回复

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.io.compression?view=net-5.0
    2021年2月21日 11:50
  • 可以参考这个:https://www.cnblogs.com/nanfei/p/13952761.html
    2021年2月22日 1:00
  • 你好,

    你可以参照下面的代码示例去对文件夹中的zip文件进行解压并且将mp3放到指定文件夹中。

                var files = Directory.GetFiles("E:\\music", "*.*", SearchOption.AllDirectories)
                .Where(s => s.EndsWith(".zip"));
                string filename = string.Empty;
                string expath = string.Empty;
                foreach (var item in files)
                {
                    filename = Path.GetFileNameWithoutExtension(item);
                    expath = Path.Combine("E:\\music", filename);
                    ZipFile.ExtractToDirectory(item, expath);    //解压所有的zip文件
                }
                string mp3path= Path.Combine("E:\\music", "mp3");
                Directory.CreateDirectory(mp3path);             //创建mp3文件夹
                var mp3files = Directory.GetFiles("E:\\music", "*.*", SearchOption.AllDirectories)
                .Where(s => s.EndsWith(".mp3"));
                foreach (var item in mp3files)
                {
                    File.Move(item, Path.Combine("E:\\music","mp3", Path.GetFileName(item))); //将所有mp3文件转到mp3文件夹下
                }

    其中有一些注释,你也可以看下,如有不解之处,请随时告知我。

    Best Regards,

    Jack


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.


    2021年2月22日 5:20
    版主
  • Directory.GetFiles 和 DirectoryInfo.GetFiles有什么区别?
    2021年2月23日 23:38