如何在Windows中检测文件重命名/移动

时间:2013-06-11 14:21:20

标签: java python file rename move

我正在尝试检测何时在Windows中移动或重命名文件,然后我想使用该更改来更新数据库。

当我说文件移动时:我的意思是从“... / A / foo.txt”到“... / B / foo.txt”从一个目录移动到另一个目录。 当我说文件重命名时:我的意思是重命名,但保持在同一目录“... / A / foo.txt”到“... / A / bar.txt”

我知道linux和大多数人都把它们视为同一件事,而就我的目的而言,它们是同一回事。我只是想知道之后的实际文件路径,并且能够将它与原始文件路径匹配,即使在批量移动的情况下也是如此。

我正在使用python作为父程序,但我愿意使用任何编码语言,尽管它最好是Java / Python /某种形式的C。

3 个答案:

答案 0 :(得分:3)

如果您使用的是Java 7,则可以使用WatchServiceWatchKey。这是观察目录的观察者,每次更改,创建或删除某些内容时,您都可以执行操作/文件处理。

答案 1 :(得分:0)

我建议使用watchdog python模块https://github.com/gorakhargosh/watchdog

它可以处理这些情况以及其他文件系统事件

答案 2 :(得分:0)

在Java(WatchService和WatchKey)中 - http://docs.oracle.com/javase/tutorial/essential/io/notification.html

在Python(看门狗)中 - https://pypi.python.org/pypi/watchdog

相关问题