string[] files = SearchFile(@"C:\prj\Temp", "TestText.....txt", "*.txt", false);
foreach (string oldName in files)
{
string newName = oldName.Replace("TestText", "TextNo");
System.IO.File.Copy(oldName, newName, true);
System.IO.File.Delete(oldName);
}
<summary>
</summary>
<param name="dirPath"></param>
<param name="pattern"></param>
<param name="fileWildcards"></param>
<param name="ignoreCase"></param>
<returns></returns>
public static string[] SearchFile(
string dirPath, string pattern, string fileWildcards, bool ignoreCase)
{
System.Collections.ArrayList fileCol =
new System.Collections.ArrayList();
System.Text.RegularExpressions.RegexOptions opts =
System.Text.RegularExpressions.RegexOptions.None;
if (ignoreCase)
opts |= System.Text.RegularExpressions.RegexOptions.IgnoreCase;
System.Text.RegularExpressions.Regex reg =
new System.Text.RegularExpressions.Regex(pattern, opts);
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(dirPath);
System.IO.FileInfo[] files = dir.GetFiles(fileWildcards);
foreach (System.IO.FileInfo f in files)
{
if ( reg.IsMatch(f.FullName))
{
fileCol.Add(f.FullName);
}
}
return (string[])fileCol.ToArray(typeof(string));
}