功能:循环替换目标目录及其子目录下的所有目标文件
1、一次只能替换一个文件
2、替换源文件不能与该工具在同一个目录下
3、效果图:
4、控件一览
因为支持文件拖拽, 所以,需要设置 form1 的属性如下图所示:
5、核心代码:
递归循环查找文件,实现文件替换
--------------------------------------------------------------------
获取指定的目录中的所有文件(包括文件夹)
public void getAllFiles(string directory)
{
获取指定的目录中的所有文件(不包括文件夹)
getFiles(directory);
获取指定的目录中的所有目录(文件夹)
getDirectory(directory);
}
获取指定的目录中的所有文件(不包括文件夹)
public void getFiles(string directory)
{
string[] path = System.IO.Directory.GetFiles(directory);
for (int i = 0; i < path.Length; i++)
判断是否含有指定的文件名
if (path[i].Contains(tbOrignFileName.Text))
{
iReplaceCount += 1;
替换文件
File.Copy(this.strAimReplaceFilePath, path[i], true);
显示文件名
lbMessage.Items.Add("替换文件:> " + path[i]);
}
}
获取指定的目录中的所有目录(文件夹)
public void getDirectory(string directory)
{
string[] directorys = System.IO.Directory.GetDirectories(directory);
如果该目录总没有其他文件夹
if (directorys.Length <= 0)
{
return;
}
else
{
for (int i = 0; i < directorys.Length; i++)
{
getAllFiles(directorys[i]);
}
}
}
=================&#