private void btnConfirmCreate_Click(object sender, EventArgs e) { string createFolder = this.cbbxCreateFolder.Text.Trim(); if (!Directory.Exists(createFolder)) { Directory.CreateDirectory(createFolder); } List <SWMFileInfo> updateFileList = new List <SWMFileInfo>(); foreach (ListViewItem lvi in this.lvMain.CheckedItems) { SWMFileInfo swmfi = new SWMFileInfo(); swmfi.Name = lvi.Text; swmfi.Ver = lvi.SubItems[1].Text; swmfi.MD5 = lvi.SubItems[3].Text; swmfi.FullFileName = lvi.SubItems[5].Text; swmfi.RelativeCreateName = lvi.SubItems[6].Text; updateFileList.Add(swmfi); string currentCreateFullFileName = Path.Combine(createFolder, swmfi.RelativeCreateName); string currentCreateFolder = Directory.GetParent(currentCreateFullFileName).FullName; if (!Directory.Exists(currentCreateFolder)) { Directory.CreateDirectory(currentCreateFolder); } File.Copy(swmfi.FullFileName, currentCreateFullFileName, true); } if (updateFileList.Count > 0) { CreateXML(updateFileList, createFolder); MessageBox.Show("Create Completed!\r\n" + updateFileList.Count.ToString() + " Files Created!"); } else { MessageBox.Show("没有文件被选中!"); } /* * string releaseFolder = cbbxReleaseFolder.Text.Trim(); * if (Directory.Exists(releaseFolder)) * { * ulxi = SerializationHelper.LoadXml(typeof(UpdateListXmlInfo), Path.Combine(releaseFolder, "updatelist.xml")) as UpdateListXmlInfo; * } * else * { * MessageBox.Show("路径呀"); * } */ }
private void BindAllFilesList(string folder, string baseFolder) { DirectoryInfo di = new DirectoryInfo(folder); DirectoryInfo[] dirList = di.GetDirectories(); foreach (DirectoryInfo info in dirList) { BindAllFilesList(info.FullName, baseFolder); } FileInfo[] fileList = di.GetFiles(); foreach (FileInfo fi in fileList) { if (this.excludeExt.Contains(fi.Extension.ToLower()) || this.excludeFiles.Contains(fi.Name)) { continue; } string newMD5 = HashTools.GenerateFileHashCode(fi.FullName); string newVersion = FileVersionInfo.GetVersionInfo(fi.FullName).FileVersion; string relativeFileName = fi.FullName.Replace(baseFolder, string.Empty).Trim(Path.DirectorySeparatorChar); string swmFileName = relativeFileName.Replace(Path.DirectorySeparatorChar, '/'); string swmCreateName = relativeFileName; if (fi.Extension.ToLower() == ".php") { swmFileName += "_bak"; swmCreateName += "_bak"; } ListViewItem lvi = new ListViewItem(swmFileName); SWMFileInfo lastSWMFileInfo = ulxiLastXML.Files.Find( delegate(SWMFileInfo swmfi) { return swmfi.Name == swmFileName; } ); if (lastSWMFileInfo != null) { if (newVersion == null || newVersion == string.Empty) { if (newMD5 == lastSWMFileInfo.MD5) { newVersion = lastSWMFileInfo.Ver; } else { Version ver = new Version(lastSWMFileInfo.Ver); newVersion = new Version(ver.Major, ver.Minor, ver.Build, ver.Revision + 1).ToString(); } } if (lastSWMFileInfo.Ver != newVersion) { lvi.ForeColor = Color.Red; } } else { lastSWMFileInfo = new SWMFileInfo(); if (newVersion == null || newVersion == string.Empty) { newVersion = "0.2.0.0"; } lvi.ForeColor = Color.Purple; } lvi.Checked = true; ListViewItem.ListViewSubItem lvsiNewVersion = new ListViewItem.ListViewSubItem(lvi, newVersion); ListViewItem.ListViewSubItem lvsiLastVersion = new ListViewItem.ListViewSubItem(lvi, lastSWMFileInfo.Ver); ListViewItem.ListViewSubItem lvsiNewMD5 = new ListViewItem.ListViewSubItem(lvi, newMD5); ListViewItem.ListViewSubItem lvsiLastMD5 = new ListViewItem.ListViewSubItem(lvi, lastSWMFileInfo.MD5); ListViewItem.ListViewSubItem lvsiFullFileName = new ListViewItem.ListViewSubItem(lvi, fi.FullName); ListViewItem.ListViewSubItem lvsiCreateName = new ListViewItem.ListViewSubItem(lvi, swmCreateName); lvi.SubItems.Add(lvsiNewVersion); lvi.SubItems.Add(lvsiLastVersion); lvi.SubItems.Add(lvsiNewMD5); lvi.SubItems.Add(lvsiLastMD5); lvi.SubItems.Add(lvsiFullFileName); lvi.SubItems.Add(lvsiCreateName); lvMain.Items.Add(lvi); } }
private void btnConfirmCreate_Click(object sender, EventArgs e) { string createFolder = this.cbbxCreateFolder.Text.Trim(); if (!Directory.Exists(createFolder)) { Directory.CreateDirectory(createFolder); } List<SWMFileInfo> updateFileList = new List<SWMFileInfo>(); foreach (ListViewItem lvi in this.lvMain.CheckedItems) { SWMFileInfo swmfi = new SWMFileInfo(); swmfi.Name = lvi.Text; swmfi.Ver = lvi.SubItems[1].Text; swmfi.MD5 = lvi.SubItems[3].Text; swmfi.FullFileName = lvi.SubItems[5].Text; swmfi.RelativeCreateName = lvi.SubItems[6].Text; updateFileList.Add(swmfi); string currentCreateFullFileName = Path.Combine(createFolder, swmfi.RelativeCreateName); string currentCreateFolder = Directory.GetParent(currentCreateFullFileName).FullName; if (!Directory.Exists(currentCreateFolder)) { Directory.CreateDirectory(currentCreateFolder); } File.Copy(swmfi.FullFileName, currentCreateFullFileName, true); } if (updateFileList.Count > 0) { CreateXML(updateFileList, createFolder); MessageBox.Show("Create Completed!\r\n" + updateFileList.Count.ToString() + " Files Created!"); } else { MessageBox.Show("没有文件被选中!"); } /* string releaseFolder = cbbxReleaseFolder.Text.Trim(); if (Directory.Exists(releaseFolder)) { ulxi = SerializationHelper.LoadXml(typeof(UpdateListXmlInfo), Path.Combine(releaseFolder, "updatelist.xml")) as UpdateListXmlInfo; } else { MessageBox.Show("路径呀"); } */ }
private void BindAllFilesList(string folder, string baseFolder) { DirectoryInfo di = new DirectoryInfo(folder); DirectoryInfo[] dirList = di.GetDirectories(); foreach (DirectoryInfo info in dirList) { BindAllFilesList(info.FullName, baseFolder); } FileInfo[] fileList = di.GetFiles(); foreach (FileInfo fi in fileList) { if (this.excludeExt.Contains(fi.Extension.ToLower()) || this.excludeFiles.Contains(fi.Name)) { continue; } string newMD5 = HashTools.GenerateFileHashCode(fi.FullName); string newVersion = FileVersionInfo.GetVersionInfo(fi.FullName).FileVersion; string relativeFileName = fi.FullName.Replace(baseFolder, string.Empty).Trim(Path.DirectorySeparatorChar); string swmFileName = relativeFileName.Replace(Path.DirectorySeparatorChar, '/'); string swmCreateName = relativeFileName; if (fi.Extension.ToLower() == ".php") { swmFileName += "_bak"; swmCreateName += "_bak"; } ListViewItem lvi = new ListViewItem(swmFileName); SWMFileInfo lastSWMFileInfo = ulxiLastXML.Files.Find( delegate(SWMFileInfo swmfi) { return(swmfi.Name == swmFileName); } ); if (lastSWMFileInfo != null) { if (newVersion == null || newVersion == string.Empty) { if (newMD5 == lastSWMFileInfo.MD5) { newVersion = lastSWMFileInfo.Ver; } else { Version ver = new Version(lastSWMFileInfo.Ver); newVersion = new Version(ver.Major, ver.Minor, ver.Build, ver.Revision + 1).ToString(); } } if (lastSWMFileInfo.Ver != newVersion) { lvi.ForeColor = Color.Red; } } else { lastSWMFileInfo = new SWMFileInfo(); if (newVersion == null || newVersion == string.Empty) { newVersion = "0.2.0.0"; } lvi.ForeColor = Color.Purple; } lvi.Checked = true; ListViewItem.ListViewSubItem lvsiNewVersion = new ListViewItem.ListViewSubItem(lvi, newVersion); ListViewItem.ListViewSubItem lvsiLastVersion = new ListViewItem.ListViewSubItem(lvi, lastSWMFileInfo.Ver); ListViewItem.ListViewSubItem lvsiNewMD5 = new ListViewItem.ListViewSubItem(lvi, newMD5); ListViewItem.ListViewSubItem lvsiLastMD5 = new ListViewItem.ListViewSubItem(lvi, lastSWMFileInfo.MD5); ListViewItem.ListViewSubItem lvsiFullFileName = new ListViewItem.ListViewSubItem(lvi, fi.FullName); ListViewItem.ListViewSubItem lvsiCreateName = new ListViewItem.ListViewSubItem(lvi, swmCreateName); lvi.SubItems.Add(lvsiNewVersion); lvi.SubItems.Add(lvsiLastVersion); lvi.SubItems.Add(lvsiNewMD5); lvi.SubItems.Add(lvsiLastMD5); lvi.SubItems.Add(lvsiFullFileName); lvi.SubItems.Add(lvsiCreateName); lvMain.Items.Add(lvi); } }