C#软件搬家功能的实现

 使用复制实现,删除原位置没写.

        private void 双击窗体(object sender, EventArgs e)
        {
            this.Name = "微佛诞提示日历时间";
            if (MessageBox.Show("要执行软件搬家?", "友情提醒:", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                SaveFileDialog 搬家位置 = new SaveFileDialog();
                搬家位置.InitialDirectory = "D:";
                搬家位置.FileName = this.Name;
                if (!System.IO.Directory.Exists(搬家位置.InitialDirectory + "\\" + 搬家位置.FileName))
                {
                    搬家位置.Title = "请选择软件新家的位置:";
                    搬家位置.ShowDialog();
                    System.IO.Directory.CreateDirectory(搬家位置.FileName);
                }
                else 搬家位置.FileName =搬家位置.InitialDirectory + "\\" + 搬家位置.FileName;
                foreach (string 文件 in System.IO.Directory.GetFiles(@System.Environment.CurrentDirectory, "*.*", System.IO.SearchOption.AllDirectories))
                {
                    string 位置 = 文件.Replace(System.Environment.CurrentDirectory, 搬家位置.FileName);
                    if (位置.Replace(搬家位置.FileName + "\\", "").Contains("\\"))
                        System.IO.Directory.CreateDirectory(位置.Substring(0, 位置.LastIndexOf("\\")));
                    System.IO.File.Copy(文件, 位置, true);
                }
            }
        }

添加删除文件3种方式: 

using System.Runtime.InteropServices;//c#在桌面中绘图 https://www.cnblogs.com/kq2012/articles/2707701.html
using Microsoft.VisualBasic.FileIO;//首先对项目添加名为Microsoft.VisualBasic.dll的引用,然后添加命名空间 https://bbs.csdn.net/topics/390835339 https://www.cnblogs.com/lazycoding/archive/2012/09/25/2702007.html
        private void 双击窗体(object sender, EventArgs e)
        {
            this.Name = "微佛诞提示日历时间";
            if (MessageBox.Show("要执行软件搬家?", "友情提醒:", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                SaveFileDialog 搬家位置 = new SaveFileDialog();
                搬家位置.InitialDirectory = "D:";
                搬家位置.FileName = this.Name;
                if (!System.IO.Directory.Exists(搬家位置.InitialDirectory + "\\" + 搬家位置.FileName))
                {
                    搬家位置.Title = "请选择软件新家的位置:";
                    搬家位置.ShowDialog();
                    System.IO.Directory.CreateDirectory(搬家位置.FileName);
                }
                else 搬家位置.FileName = 搬家位置.InitialDirectory + "\\" + 搬家位置.FileName;
                foreach (string 文件 in System.IO.Directory.GetFiles(@System.Environment.CurrentDirectory, "*.*", System.IO.SearchOption.AllDirectories))
                {
                    string 新位置 = 文件.Replace(System.Environment.CurrentDirectory, 搬家位置.FileName);
                    if (新位置.Replace(搬家位置.FileName + "\\", "").Contains("\\"))
                        System.IO.Directory.CreateDirectory(新位置.Substring(0, 新位置.LastIndexOf("\\")));
                    System.IO.File.Copy(文件, 新位置, true);
                    //System.IO.File.Delete(文件);
                    //new System.IO.FileInfo(文件).Delete();
                    FileSystem.DeleteFile(文件, UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);
                    string[] 文件夹集 = new string[] { };
                    文件夹集 = 文件夹集.Concat(new string[] { 文件.Substring(0, 文件.LastIndexOf("\\")) }).ToArray();
                    foreach (string 文件夹 in 文件夹集.Reverse()) FileSystem.DeleteDirectory(文件夹, UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);
                }
            }
        }

相关推荐

  1. C#软件搬家功能实现

    2024-06-07 12:12:01       30 阅读
  2. c#实现记事本功能

    2024-06-07 12:12:01       47 阅读
  3. C语言实现toupper函数功能

    2024-06-07 12:12:01       54 阅读
  4. c语言_实现类class功能 实例

    2024-06-07 12:12:01       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-07 12:12:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-07 12:12:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-07 12:12:01       87 阅读
  4. Python语言-面向对象

    2024-06-07 12:12:01       96 阅读

热门阅读

  1. HTML5 视频 Vedio 标签详解

    2024-06-07 12:12:01       29 阅读
  2. 【第二篇】SpringSecurity源码详解

    2024-06-07 12:12:01       32 阅读
  3. npm上传提示:413 Request Entity Too Large

    2024-06-07 12:12:01       35 阅读
  4. 【二叉树算法题记录】669. 修剪二叉搜索树

    2024-06-07 12:12:01       30 阅读
  5. 游戏心理学Day06

    2024-06-07 12:12:01       32 阅读
  6. 在CentOS 7上查看和管理内存使用情况

    2024-06-07 12:12:01       26 阅读
  7. 【回溯算法 1】全排列(medium)(每日一题)

    2024-06-07 12:12:01       34 阅读
  8. 迭代器的使用

    2024-06-07 12:12:01       28 阅读
  9. sklearn基础教程

    2024-06-07 12:12:01       32 阅读