【发布时间】:2013-05-11 06:35:58
【问题描述】:
浏览了许多网站和一些教程视频后,我仍然对这个感到困惑。我正在完成一个程序,我需要添加最后一点功能。
程序以这种方式工作。用户在 textbox1 中指定一个文件,然后在 textbox2 中指定一个目录。用户通过在 textbox3 中复制文件来设置他们希望文件的频率。用户点击运行,程序将文件复制到新位置,每次复制时在文件名中添加一个数字(以避免覆盖)。一切正常,但我希望用户可以选择按时间复制文件或在文件被修改时复制。
如何使用 FileSystemWatcher 在目录中查找修改(在 textbox1 中给出),然后调用将指定目录复制到目标目标的语句(在 textbox 2 中指定)?
补充说明:
在一个教程中,通过这样做设置了 FileSystemWatcher 路径
Dim watched As String = System.IO.Path.Combine(Environment.GetEnvironmentVariable("USERPROFILE"), "Pictures")
Dim fsw As New FileSystemWatcher(watched)
代码指向的路径是 "C:\Users[User Name]\Pictures" 。 我在网上找不到显示“.GetEnvironmentVariable”接受哪些变量甚至变量含义的资源。这是我在使用最后一位代码时遇到问题的众多原因之一。
【问题讨论】:
-
显然您对 GetEnvironmentVariable() 不感兴趣,请改用 Path.GetDirectoryName(TextBox1.Text)。当 Change 事件触发时,将更改的文件的名称与 TextBox2.Text 进行比较。最后一个问题是当文件更改时您经常无法复制文件,您需要使用 Timer 稍后再执行。
标签: vb.net directory copy filesystemwatcher