2016-04-16 18 views
2

Ich stehe derzeit vor einem Problem, das ich nicht zu beheben weiß. Ich habe den folgenden Julia-Code:Wie man den Dateinamen erhält, wenn die Dateiänderung über watch_file beobachtet wird

while true 
    print(watch_file("test")) 
end 

So sollte dies mir alle Änderungen der Datei in das Verzeichnis namens "test". Zumindest unter Windows.

Nun, das ist alles gut und gut, und es funktioniert irgendwie, zumindest für das Erstellen einer Datei oder das Verschieben einer Datei in dieses Verzeichnis. Dies ist ein Beispiel dafür, was ich bekommen:

("New Textfile.txt",Base.FileEvent(true,false,false)) 

Aber wenn ich diese Datei löschen oder umbenennen, ich habe nicht den Dateinamen der Datei gelöscht oder umbenannt bekommen.

("",Base.FileEvent(true,false,false)) 

Gibt es eine andere Methode/Funktion, die ich die Dateinamen bekommen mit, auch wenn die Datei gelöscht oder umbenannt wird? Oder noch besser, eine Art, die das archiviert und plattformübergreifend ist? Jede Hilfe wird geschätzt.

EDIT: Wenn Sie mir eine Alternative geben könnte, die rekursive Überwachung unterstützt, wäre das noch besser.

Antwort

2

In Linux gibt Julia 0.4.5 und 0.4.3 watch_file den Dateinamen immer zurück. Es ist eine sehr plattformabhängige Funktion (wie in Node.js) und nur manuelle Abfrage kann wirklich Plattform-unabhängige Lösung sein.