PrivateSubCopyDir(ByValsrcPathAsString,ByValaimPathAsString)Try'检查目标目录是否以目录分割字符\结束,如果不是则添加之IfaimPath.Substring(aimPath.Length-1)<>Path.DirectorySeparatorCharThenaimPath+=Path.DirectorySeparatorCharEndIf'判断源目录是否存在,不存在则退出.If(NotDirectory.Exists(srcPath))ThenExitSub''判断目标目录是否存在如果不存在则新建之'If(NotDirectory.Exists(aimPath))ThenDirectory.CreateDirectory(aimPath)'得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组DimfileList()AsString=Directory.GetFileSystemEntries(srcPath)'遍历所有的文件和目录ForEachFileNameAsStringInfileList'先当作目录处理如果存在这个目录就递归Copy该目录下面的文件IfDirectory.Exists(FileName)ThenIf(NotDirectory.Exists(aimPath+Path.GetFileName(FileName)))ThenDirectory.CreateDirectory(aimPath+Path.GetFileName(FileName))CopyDir(FileName,aimPath+Path.GetFileName(FileName))'否则直接Copy文件ElseFile.Copy(FileName,aimPath+Path.GetFileName(FileName),True)EndIfNextCatchexAsExceptionResponse.Write("<br>"+ex.ToString())EndTryEndSub