【发布时间】:2014-09-19 20:34:19
【问题描述】:
第一次发帖,请轻拍。
我正在使用 Visual Studio Express 2010
我正在尝试创建一个备份程序,每晚将特定文件夹和文件备份到外部硬盘。
我正在使用:
Dim dirs As List(Of String) = New List(Of String)(Directory.EnumerateDirectories(dirPath))
获取本地驱动器上的目录列表,然后:
For Each folder In dirs
循环浏览所有目录,然后:
If Not Directory.Exists(FdriveDirName) Then
My.Computer.FileSystem.CopyDirectory(CdriveDirName, FdriveDirName, True)
End if
这适用于第一个副本。我的问题是当我在根目录的文件夹中创建一个新文件夹时(例如,安装一个新程序会在 c: 的程序文件中创建一个新文件夹)这个新文件夹在我第二次运行程序时不会被复制。
我可以看到这背后的原因是 EnumerateDirectories 函数仅列出文件夹层次结构中下一级的文件夹。
我显然需要列出所有文件夹和子文件夹,但即使用 getdirectories 替换 EnumerateDirectories 也无济于事。
有任何想法的人吗?
【问题讨论】:
标签: vb.net copy backup subdirectory