1. Created a Sample XML file (XMLFile.xml)
="1.0"="utf-8"
<Information>
<FolderInfo>
<Folder>c:\\SampleFolder\Folder_X</Folder>
<Time>12/18/2012 2:17:25 PM</Time>
<Files>
<file>XFile1.doc</file>
<file>XFile2.txt</file>
<file>XFile3.png</file>
<file>XFile4.zip</file>
</Files>
</FolderInfo>
<FolderInfo>
<Folder>c:\\SampleFolder\Folder_Y</Folder>
<Time>12/18/2012 2:19:25 PM</Time>
<Files>
<file>YFile1.doc</file>
<file>YFile2.txt</file>
<file>YFile3.png</file>
<file>YFile4.zip</file>
</Files>
</FolderInfo>
<FolderInfo>
<Folder>c:\\SampleFolder\Folder_Z</Folder>
<Time>12/18/2012 2:18:25 PM</Time>
<Files>
<file>ZFile1.doc</file>
<file>ZFile2.txt</file>
<file>ZFile3.png</file>
<file>ZFile4.zip</file>
</Files>
</FolderInfo>
</Information>
2. After creating your windows service then add this method in the main class
private void CheckFileInFolder()
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("XMLFile.xml"));
XmlNode xnFolderInfo = xmlDoc.ChildNodes[1];
foreach (XmlNode xn in xnFolderInfo.ChildNodes)
{
string strFolder = xn.ChildNodes[0].InnerText;
DateTime dtTime = Convert.ToDateTime(xn.ChildNodes[1].InnerText);
if (DateTime.Now.ToString("dd/mm/yyyy hh:mm") == dtTime.ToString("dd/mm/yyyy hh:mm"))
{
foreach (XmlNode xnFiles in xn.ChildNodes[2])
{
string strFile = xnFiles.InnerText;
if (File.Exists(Path.Combine(strFolder, strFile)))
{
// Do Your Work here
}
}
}
}
}
Call this method on OnElapsedTime event
private void OnElapsedTime(object source, ElapsedEventArgs e)
{
TraceService("Another entry at "+DateTime.Now);
CheckFileInFolder()
}
Here DateTime.Now.ToString("dd/mm/yyyy hh:mm") == dtTime.ToString("dd/mm/yyyy hh:mm") is just a sample use your own condition here
you said that you need to Check the folder "X"every day at 5 PM,Check the folder "Y"every day at 6 PM
Take only the time in xml node instead of date and time.
<FolderInfo>
<Folder>c:\\SampleFolder\Folder_X</Folder>
<Time>2:17:25 PM</Time>
<Files>
<file>XFile1.doc</file>
<file>XFile2.txt</file>
<file>XFile3.png</file>
<file>XFile4.zip</file>
</Files>
</FolderInfo>
<FolderInfo>
<Folder>c:\\SampleFolder\Folder_Y</Folder>
<Time>2:19:25 PM</Time>
<Files>
<file>YFile1.doc</file>
<file>YFile2.txt</file>
<file>YFile3.png</file>
<file>YFile4.zip</file>
</Files>
</FolderInfo>
DateTime dtTime = Convert.ToDateTime(DateTime.Now.ToShortDateString() + " " + xn.ChildNodes[1].InnerText);
if (DateTime.Now.ToString("hh:mm") == dtTime.ToString("hh:mm"))
{