Пример #1
0
        /// <summary>
        /// 查找不适用文件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnFindNotSetFile_Click(object sender, EventArgs e)
        {
            string path = txtPath.Text.Trim();

            if (string.IsNullOrEmpty(path))
            {
                path = FileDialogHelper.OpenDir();
            }

            if (!DirectoryUtil.IsExistDirectory(path))
            {
                MessageDxUtil.ShowTips("文件路径不可用");
                return;
            }

            string recordFileName = "\\" + "不适用文件.txt";

            if (FileUtil.FileIsExist(path + recordFileName))
            {
                FileUtil.DeleteFile(path + recordFileName);
            }
            FileUtil.CreateFile(path + recordFileName);

            string[] allFiles = DirectoryUtil.GetAllFileNames(path);
            foreach (var file in allFiles)
            {
                FileInfo fileInfo = new FileInfo(file);
                if (fileInfo.Name.Contains("不适用"))
                {
                    FileUtil.AppendText(path + recordFileName, string.Format("{0}\t\t\t{1}\r\n", fileInfo.Name, fileInfo.FullName), Encoding.UTF8);
                }
            }

            MessageDxUtil.ShowTips("操作完成");
        }
Пример #2
0
        private void btnGetMachineCode_Click(object sender, EventArgs e)
        {
            // 不自动更新排除的文件 license.lic 序列号
            // log              日志文件
            // AutoUpdater      自动更新
            string startupPath = Application.StartupPath;

            if (FileUtil.IsExistFile(startupPath + "\\" + txtFileName.Text.Trim()))
            {
                FileUtil.DeleteFile(startupPath + "\\" + txtFileName.Text.Trim());
            }

            // 写入前面的模板
            FileUtil.AppendText(txtFileName.Text.Trim(), "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n", Encoding.UTF8);
            FileUtil.AppendText(txtFileName.Text.Trim(), "<manifest>\r\n", Encoding.UTF8);
            FileUtil.AppendText(txtFileName.Text.Trim(), "\t<version>" + txtVersion.Text.Trim() + "</version>\r\n", Encoding.UTF8);
            FileUtil.AppendText(txtFileName.Text.Trim(), "\t<description>" + txtUpdateInfo.Text.Trim() + "</description>\r\n", Encoding.UTF8);
            FileUtil.AppendText(txtFileName.Text.Trim(), "\t<!--applicationId运用程序ID,需要与客户端配置一样,否则不会进行更新-->\r\n", Encoding.UTF8);
            FileUtil.AppendText(txtFileName.Text.Trim(), "\t<myapplication applicationId=\"" + txtApplicationId.Text.Trim() + "\">\r\n", Encoding.UTF8);
            FileUtil.AppendText(txtFileName.Text.Trim(), "\t\t<!--暂时没有使用,重新启动exe名称,parameters启动时传入的参数-->\r\n", Encoding.UTF8);
            FileUtil.AppendText(txtFileName.Text.Trim(), "\t\t<entryPoint file=\"" + txtMain.Text.Trim() + "\" parameters=\"" + txtparam.Text.Trim() + "\" />\r\n", Encoding.UTF8);
            FileUtil.AppendText(txtFileName.Text.Trim(), "\t</myapplication>\r\n", Encoding.UTF8);
            FileUtil.AppendText(txtFileName.Text.Trim(), "\t<!--base表示存放该文件的url-->\r\n", Encoding.UTF8);
            FileUtil.AppendText(txtFileName.Text.Trim(), "\t<files base=\"http://www.jcodes.cn/update/Pack/\">\r\n", Encoding.UTF8);
            FileUtil.AppendText(txtFileName.Text.Trim(), "\t\t<!--文件名称-->\r\n", Encoding.UTF8);

            string[] files = DirectoryUtil.GetAllFileNames(startupPath);
            for (Int32 i = 0; i < files.Length; i++)
            {
                // 日志路径
                if (files[i].Contains("log\\"))
                {
                    continue;
                }
                if (files[i].Contains("license.lic"))
                {
                    continue;
                }
                if (files[i].Contains("AutoUpdater"))
                {
                    continue;
                }

                FileStream fsread  = new FileStream(files[i], FileMode.Open, FileAccess.Read, FileShare.Read);
                byte[]     md5File = new byte[fsread.Length];
                fsread.Read(md5File, 0, (int)fsread.Length);                               // 将文件流读取到Buffer中
                fsread.Close();
                string result = MD5Util.MD5Buffer(md5File, 0, md5File.Length);             // 对Buffer中的字节内容算MD5
                string tmp    = files[i].Replace(startupPath + "\\", "");
                FileUtil.AppendText(txtFileName.Text.Trim(), "\t\t<file source=\"" + tmp + "\" md5=\"" + result + "\" checkmd5=\"true\" />\r\n", Encoding.UTF8);
            }
            FileUtil.AppendText(txtFileName.Text.Trim(), "\t</files>\r\n", Encoding.UTF8);
            FileUtil.AppendText(txtFileName.Text.Trim(), "</manifest>\r\n", Encoding.UTF8);

            MessageDxUtil.ShowTips("操作完成");
        }
Пример #3
0
        private void simpleButton5_Click(object sender, EventArgs e)
        {
            string copyToPath = txtCopytoPath.Text.Trim();
            string sourcePath = txtSourcePath.Text.Trim();

            if (string.IsNullOrEmpty(copyToPath))
            {
                MessageDxUtil.ShowError("复制到对应文件夹未配置");
                return;
            }

            if (string.IsNullOrEmpty(sourcePath))
            {
                MessageDxUtil.ShowError("拷贝源文件夹未配置");
                return;
            }

            // 读取文件夹保存到字典 字段值为 第几部分_索引名字,拷贝全路径
            Dictionary <string, string> dic = new Dictionary <string, string>();

            string[] allDirs = DirectoryUtil.GetDirectories(copyToPath, "*", true);
            foreach (var dir in allDirs)
            {
                // 如果路径超长了 就不往下走了
                if (dir.Length > 245)
                {
                    continue;
                }

                DirectoryInfo dirinfo = new DirectoryInfo(dir);

                // 没找到
                if (dirinfo.Name.Split('$').Length <= 1)
                {
                    continue;
                }

                // 合法路径
                if (dirinfo.Parent.Name.Split('$')[0].Contains("部分") && dirinfo.Parent.Name.Split('$')[0].Substring(0, 1) == "第")
                {
                    dic[dirinfo.Parent.Name.Split('$')[0] + "_" + dirinfo.Name.Split('$')[1]] = dir;
                }
            }

            Int32 copyCount = 0;

            string[] allFiles = DirectoryUtil.GetAllFileNames(sourcePath);
            foreach (var file in allFiles)
            {
                FileInfo fileInfo = new FileInfo(file);

                // 没找到
                if (fileInfo.Name.Split(' ').Length <= 1)
                {
                    continue;
                }

                string indexStr = fileInfo.Name.Split(' ')[1];
                string pattern  = @"第\w+部分";
                Regex  regex    = new Regex(pattern);
                if (regex.IsMatch(fileInfo.DirectoryName))
                {
                    if (dic.ContainsKey(regex.Match(fileInfo.DirectoryName).Value + "_" + fileInfo.Name.Split(' ')[1].Replace(fileInfo.Extension, "")))
                    {
                        copyCount++;
                        File.Move(fileInfo.FullName, dic[regex.Match(fileInfo.DirectoryName).Value + "_" + fileInfo.Name.Split(' ')[1].Replace(fileInfo.Extension, "")] + "\\" + fileInfo.Name);
                    }
                }
                else
                {
                    continue;
                }
            }

            MessageDxUtil.ShowTips(string.Format("操作成功, 目录下一共{0}个文件,成功拷贝{1}个文件", allFiles.Length, copyCount));
        }