我需要为一个适用于某些文件的程序编写.dll。
我需要编写代码,每当有人启动程序时,它应该在文件夹中检查新文件,如果有新文件,它应该自动将它们复制到程序文件夹中并重新启动程序。如果没有,程序应该正常启动。
我的问题是我不知道如何让程序识别自上次启动/关闭程序以来的新文件,因为我不希望在程序运行的整个过程中监视文件夹,但仅在开始时该计划。
我想过比较2个文件夹中的文件,但是对于houndreds文件来说,这样做会很糟糕,不是吗?
除此之外,如果有人知道如何自动复制文件并且也可以给我一个想法,那就太棒了。
我对vb.net很新,只对编码经验有限,所以如果我提出一些简单的问题,请原谅我。
非常感谢每一个想法和答案。谢谢!
更新:非常感谢你们的想法,要测试其中一些:)
答案 0 :(得分:0)
您可以创建Windows服务并使用filewatcher https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher(v=vs.110).aspx
答案 1 :(得分:0)
你可以尝试这种方法。
我使用这种方法将我的文件备份到我们的服务器中。
这将检查现有文件的新文件和更新日期版本(如果有),然后覆盖它。
我在CurrentApp.LicenseInformation
XCopy
命令
创建batch file
非常基本。
batch files
XCopy "C:\YourSourceFolder\*.*"
"D:\YourDestinationFolder" /D /S /Y
关于.bat
:
XCopy
指定目录中的所有文件都是
复制。 *.*
表示只复制源时间较新的文件
比目的地时间。/D
将复制目录和子目录,但空目录除外。/S
覆盖现有文件而不提示来源:here
现在,通过/Y
运行它只需要一行代码。您可以将其放在VB.Net
,Button_Click
或您喜欢的任何事件中。
Timer_tick
当然,目录仍然会根据您保存System.Diagnostics.Process.Start("C:\YourBatFile.bat")
文件的位置而有所不同。
在您的情况下:您可以使用.bat
在您偏好的时间间隔内执行此timer
。