Please refer this code
HTML
File Name :
<asp:TextBox ID="txtFileName" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" Text="Search" OnClick="Search" runat="server" />
<br />
<asp:GridView ID="gvFile" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="FileName" HeaderText="FileName" />
<asp:BoundField DataField="Directory" HeaderText="File Directory" />
</Columns>
</asp:GridView>
Namespaces
using System.IO;
using System.Data;
C#
protected void Search(object sender, EventArgs e)
{
bool isPresent = false;
if (!string.IsNullOrEmpty(this.txtFileName.Text.Trim()))
{
DirectoryInfo dir = new DirectoryInfo(Server.MapPath("~/Files"));
FileInfo[] listfiles = dir.GetFiles();
if (listfiles.Length > 0)
{
SearchFile(listfiles);
}
else
{
DirectoryInfo[] subDirectory = dir.GetDirectories();
foreach (DirectoryInfo directoryInfo in subDirectory)
{
FileInfo[] files = directoryInfo.GetFiles();
if (files.Length > 0)
{
isPresent = SearchFile(files);
if (isPresent)
{
break;
}
}
}
}
}
if (!isPresent)
{
ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('File not found!')", true);
}
}
private bool SearchFile(FileInfo[] files)
{
bool isPresent = false;
foreach (FileInfo file in files)
{
if (file.Name == this.txtFileName.Text.Trim())
{
if (file.Exists)
{
DataTable dt = new DataTable();
dt.Columns.Add("FileName");
dt.Columns.Add("Directory");
dt.Rows.Add(file.Name, "~\\" + file.Directory.Parent.Name + "\\" + file.Directory.Name);
this.gvFile.DataSource = dt;
this.gvFile.DataBind();
isPresent = true;
break;
}
}
}
return isPresent;
}
Screenshot

