C#移动目录下的文件
来源:互联网 发布:oracle数据库创建 编辑:程序博客网 时间:2024/05/22 06:34
下面是一段源代码,个别地方需要修正
类变量
private static int total = 0;
private int FileNumber = 0; //文件夹文件总数
调用
CopyDirectory(codeSourcePath + @"Site/",virtualDirPath + @"Site" + Path.DirectorySeparatorChar,statusForm);
/// <summary>
/// 复制文件夹
/// </summary>
/// <param name="sourceDirName">源文件夹</param>
/// <param name="destDirName">目标文件夹</param>
/// <param name="statusWinForm">状态窗口</param>
//复制文件夹
public void CopyDirectory( string sourceDirName, string destDirName,StatusWin statusWinForm)
{
if(!Directory.Exists(destDirName))
{
Directory.CreateDirectory(destDirName);
File.SetAttributes(destDirName, File.GetAttributes(sourceDirName));
//File.SetAttributes(destDirName,FileAttributes.Normal);
}
if (destDirName[destDirName.Length - 1] != Path.DirectorySeparatorChar)
destDirName = destDirName + Path.DirectorySeparatorChar;
string[] files = Directory.GetFiles(sourceDirName);
foreach (string file in files)
{
File.Copy(file,destDirName + Path.GetFileName(file), true);
File.SetAttributes(destDirName + Path.GetFileName(file),FileAttributes.Normal);
total++;
statusWinForm.progressBar1.Value = total;
if(FileNumber == 0)
{
statusWinForm.lblStatus.Text = "已完成 100%";
}
else
{
statusWinForm.lblStatus.Text = "已完成 " + (Math.Round((double)(100*total/FileNumber),0)).ToString() + "%";
}
statusWinForm.lblSourceFile.Text = file;
statusWinForm.lblFileName.Text = destDirName + Path.GetFileName(file);
statusWinForm.lblStatus.Refresh();
statusWinForm.lblFileName.Refresh();
statusWinForm.lblSourceFile.Refresh();
}
string[] dirs = Directory.GetDirectories(sourceDirName);
foreach (string dir in dirs)
{
statusWinForm.Refresh();
statusWinForm.Focus();
statusWinForm.Activate();
CopyDirectory(dir, destDirName + Path.GetFileName(dir),statusWinForm);
}
}
public static int GetFilesCount(System.IO.DirectoryInfo dirInfo)
{
int totalFile = 0;
totalFile += dirInfo.GetFiles().Length;
foreach (System.IO.DirectoryInfo subdir in dirInfo.GetDirectories())
{
totalFile += GetFilesCount(subdir);
}
return totalFile;
}
类变量
private static int total = 0;
private int FileNumber = 0; //文件夹文件总数
调用
CopyDirectory(codeSourcePath + @"Site/",virtualDirPath + @"Site" + Path.DirectorySeparatorChar,statusForm);
/// <summary>
/// 复制文件夹
/// </summary>
/// <param name="sourceDirName">源文件夹</param>
/// <param name="destDirName">目标文件夹</param>
/// <param name="statusWinForm">状态窗口</param>
//复制文件夹
public void CopyDirectory( string sourceDirName, string destDirName,StatusWin statusWinForm)
{
if(!Directory.Exists(destDirName))
{
Directory.CreateDirectory(destDirName);
File.SetAttributes(destDirName, File.GetAttributes(sourceDirName));
//File.SetAttributes(destDirName,FileAttributes.Normal);
}
if (destDirName[destDirName.Length - 1] != Path.DirectorySeparatorChar)
destDirName = destDirName + Path.DirectorySeparatorChar;
string[] files = Directory.GetFiles(sourceDirName);
foreach (string file in files)
{
File.Copy(file,destDirName + Path.GetFileName(file), true);
File.SetAttributes(destDirName + Path.GetFileName(file),FileAttributes.Normal);
total++;
statusWinForm.progressBar1.Value = total;
if(FileNumber == 0)
{
statusWinForm.lblStatus.Text = "已完成 100%";
}
else
{
statusWinForm.lblStatus.Text = "已完成 " + (Math.Round((double)(100*total/FileNumber),0)).ToString() + "%";
}
statusWinForm.lblSourceFile.Text = file;
statusWinForm.lblFileName.Text = destDirName + Path.GetFileName(file);
statusWinForm.lblStatus.Refresh();
statusWinForm.lblFileName.Refresh();
statusWinForm.lblSourceFile.Refresh();
}
string[] dirs = Directory.GetDirectories(sourceDirName);
foreach (string dir in dirs)
{
statusWinForm.Refresh();
statusWinForm.Focus();
statusWinForm.Activate();
CopyDirectory(dir, destDirName + Path.GetFileName(dir),statusWinForm);
}
}
public static int GetFilesCount(System.IO.DirectoryInfo dirInfo)
{
int totalFile = 0;
totalFile += dirInfo.GetFiles().Length;
foreach (System.IO.DirectoryInfo subdir in dirInfo.GetDirectories())
{
totalFile += GetFilesCount(subdir);
}
return totalFile;
}
- C#移动目录下的文件
- C# 获取指定目录下所有文件信息、删除文件、目录,移动目录,拷贝目录
- C# 获取指定目录下所有文件信息、移动目录、拷贝目录
- C# 获取指定目录下所有文件信息、移动目录、拷贝目录
- C# 获取bin目录下的文件
- C#中遍历目录下的目录的文件
- C#中遍历目录下的目录的文件
- C#下获取目录移动目录拷贝目录
- 把不同目录下的文件移动到同一个目录下
- C# 遍历目录下所有文件夹下的文件
- C# 遍历目录下所有文件夹下的文件
- python 移动指定目录下的txt文件到另外的目录
- bat命令批处理把子目录下的文件移动到上一目录
- C#读取目录下的某一格式的文件
- C# 删除指定目录下的 所有指定文件、文件夹
- c#下载服务器文件夹目录下的文件
- C#获取项目指定目录下的文件
- VS C#项目 debug目录下的各文件作用
- 80x86 cpu的保护模式
- 百科知识:呼叫转移
- This is a test page
- McAfee麦咖啡8.5企业版高级教程 用户自定义规则使用详细说明
- 百科知识:呼叫转移与呼叫前转
- C#移动目录下的文件
- width: expression(this.width > 50
- 用回车键提交,上下键实现tab键功能.
- 首次写~
- Qt介绍
- C/C++学习笔记
- 基于ADS7870的多路数据采集系统串行接口设计
- 备忘录
- 无线病房呼叫系统的设计