|
|
@@ -3,7 +3,6 @@ using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Data;
|
|
|
using System.IO;
|
|
|
-using System.Threading;
|
|
|
using System.Windows.Forms;
|
|
|
using System.Xml;
|
|
|
|
|
|
@@ -16,6 +15,8 @@ namespace UAS_XmlAnalysor
|
|
|
|
|
|
DataTable dt;
|
|
|
|
|
|
+ string CachePath = Environment.GetEnvironmentVariable("windir").Substring(0, 1) + @":/Cache/Cache.xml";
|
|
|
+
|
|
|
public Form1()
|
|
|
{
|
|
|
InitializeComponent();
|
|
|
@@ -23,30 +24,25 @@ namespace UAS_XmlAnalysor
|
|
|
|
|
|
private void Form1_Load(object sender, EventArgs e)
|
|
|
{
|
|
|
+ List<string> CacheInf = new List<string>();
|
|
|
try
|
|
|
{
|
|
|
- StreamReader sr = new StreamReader(Application.StartupPath + @"/Cache/path.txt");
|
|
|
- string line;
|
|
|
- while ((line = sr.ReadLine()) != null)
|
|
|
+ XmlReader myReader = XmlReader.Create(CachePath);
|
|
|
+ while (myReader.Read())
|
|
|
{
|
|
|
- if (line != "")
|
|
|
- {
|
|
|
- break;
|
|
|
- }
|
|
|
+ if (myReader.NodeType == XmlNodeType.Text)
|
|
|
+ CacheInf.Add(myReader.Value);
|
|
|
}
|
|
|
- object[] Data = line.Split('|');
|
|
|
- FolderPath.Text = Data[0].ToString();
|
|
|
- BackUpFolderPath.Text = Data[1].ToString();
|
|
|
- Source.Text = Data[2].ToString();
|
|
|
- Master.Text = Data[3].ToString();
|
|
|
- AutoStart.Checked = (Data[4].ToString() == "True") ? true : false;
|
|
|
- sr.Close();
|
|
|
- }
|
|
|
- catch (Exception)
|
|
|
- {
|
|
|
-
|
|
|
+ myReader.Close();
|
|
|
+ string[] Info = CacheInf.ToArray();
|
|
|
+ FolderPath.Text = Info[0];
|
|
|
+ BackUpFolderPath.Text = Info[1];
|
|
|
+ Source.Text = Info[2];
|
|
|
+ Master.Text = Info[3];
|
|
|
+ AutoStart.Checked = (Info[4] == "True" ? true : false);
|
|
|
}
|
|
|
- dt = (DataTable)dh.ExecuteSql("select ms_pwd,ma_user,ma_address from master ", "select");
|
|
|
+ catch (Exception) { }
|
|
|
+ dt = (DataTable)dh.ExecuteSql("select ms_pwd,ma_user,ma_address from master", "select");
|
|
|
Master.DataSource = dt;
|
|
|
Master.DisplayMember = "ma_user";
|
|
|
Master.ValueMember = "ma_user";
|
|
|
@@ -60,7 +56,11 @@ namespace UAS_XmlAnalysor
|
|
|
OperateResult.AppendText("请选择监控文件夹和备份文件夹\n");
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+ if (FolderPath.Text == BackUpFolderPath.Text)
|
|
|
+ {
|
|
|
+ OperateResult.AppendText("监控文件夹和备份文件夹不能相同\n");
|
|
|
+ return;
|
|
|
+ }
|
|
|
for (int i = 0; i < dt.Rows.Count; i++)
|
|
|
{
|
|
|
if (Master.Text == dt.Rows[i]["ma_user"].ToString())
|
|
|
@@ -80,10 +80,24 @@ namespace UAS_XmlAnalysor
|
|
|
XmlWatcher.EnableRaisingEvents = true;
|
|
|
string CacheString = FolderPath.Text + "|" + BackUpFolderPath.Text + "|" + Source.Text + "|" + Master.Text + "|" + AutoStart.Checked;
|
|
|
//写入前先删除文件
|
|
|
- File.Delete(Application.StartupPath + @"/Cache/path.txt");
|
|
|
- StreamWriter sw = File.AppendText(Application.StartupPath + @"\Cache\path.txt");
|
|
|
- sw.WriteLine(CacheString);
|
|
|
- sw.Close();
|
|
|
+ try
|
|
|
+ {
|
|
|
+ File.Delete(CachePath);
|
|
|
+ }
|
|
|
+ catch (Exception) { }
|
|
|
+ XmlDocument xmlDoc = new XmlDocument();
|
|
|
+ //创建类型声明节点
|
|
|
+ XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
|
|
|
+ xmlDoc.AppendChild(node);
|
|
|
+ //创建根节点
|
|
|
+ XmlElement xeRoot = xmlDoc.CreateElement("CacheInf");
|
|
|
+ xmlDoc.AppendChild(xeRoot);
|
|
|
+ CreateNode(xmlDoc, xeRoot, "FolderPath", FolderPath.Text);
|
|
|
+ CreateNode(xmlDoc, xeRoot, "BackUpFolderPath", BackUpFolderPath.Text);
|
|
|
+ CreateNode(xmlDoc, xeRoot, "Source", Source.Text);
|
|
|
+ CreateNode(xmlDoc, xeRoot, "Master", Master.Text);
|
|
|
+ CreateNode(xmlDoc, xeRoot, "AutoStart", AutoStart.Checked.ToString());
|
|
|
+ xmlDoc.Save(CachePath);
|
|
|
Source.Enabled = false;
|
|
|
StartWatch.Enabled = false;
|
|
|
ChooseFolder.Enabled = false;
|
|
|
@@ -92,6 +106,13 @@ namespace UAS_XmlAnalysor
|
|
|
OperateResult.AppendText("开始执行监控\n");
|
|
|
}
|
|
|
|
|
|
+ public void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value)
|
|
|
+ {
|
|
|
+ XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
|
|
|
+ node.InnerText = value;
|
|
|
+ parentNode.AppendChild(node);
|
|
|
+ }
|
|
|
+
|
|
|
public void SetAutoRun()
|
|
|
{
|
|
|
if (AutoStart.Checked) //设置开机自启动
|
|
|
@@ -171,7 +192,7 @@ namespace UAS_XmlAnalysor
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- file.MoveTo(BackUpFolderPath.Text + @"\" + e.Name);
|
|
|
+ file.MoveTo(BackUpFolderPath.Text + @"\" + DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss") + "-" + e.Name);
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|