/// <summary>
        /// 验证是否能更改目录
        /// </summary>
        /// <param name="sourceFolder"></param>
        /// <param name="userDefinedPath"></param>
        /// <returns></returns>
        protected async Task <bool> CheckCanChangeDataPath(string sourceFolder, string userDefinedPath)
        {
            //当前系统用户是否拥有目标路径的操作权限
            if (!CheckPermission(userDefinedPath))
            {
                return(false);
            }

            //目标磁盘可用空间 是否满足 当前用户课件缓存
            var cacheSpaceSize = FolderUtil.GetFolderSpaceSize(sourceFolder);

            if (!IsDriveSpaceSatisfyUserCache(userDefinedPath, cacheSpaceSize))
            {
                return(false);
            }

            if (!Directory.Exists(userDefinedPath))
            {
                MessageBox.Show("目标路径不存在!");
                return(false);
            }

            return(true);
        }