2015-06-03 19 views

Odpowiedz

4

Zobacz ?Sys.setFileTime
W tym przypadku Sys.setFileTime(path_to_file_or_directory, Sys.time()) będzie przypuszczalnie to zadanie:

Na Unix -podobnie używa wywołania systemowego 'utimes', jeśli jest to dostępne , w przeciwnym razie 'utimes'. W systemie plików POSIX ustawia zarówno czas ostatniego dostępu, jak i czas modyfikacji.

W systemie Windows używa wywołania systemowego "SetFileTime", aby ustawić "ostatni czas zapisu ". Niektóre systemy plików Windows rejestrują tylko czas w rozdzielczości wynoszącej dwie sekundy.

Chociaż nie jestem pewien, jak pogodzić „używa«utimes»wywołania systemowego, jeżeli jest dostępna, w przeciwnym razie«utimes»” z jakiegokolwiek znaczącego oświadczeniu.

+1

Dzięki. Problem z dokumentacją również jest dla mnie dziwny. Wygląda jak niewłaściwie umieszczone 's': https://github.com/wch/r-source/blob/af607e72f8101f4262a666c5a16a40c4c2a99969/src/main/platform.c#L2923-L2934 – krlmlr

5

znalazłem an implementation w pakiecie R.utils, że wykorzystuje ten sam wzór jak sugerowane przez @thelatemail ale oferuje również wektoryzacji i awaryjne dla R < 2,14 i niewidocznie powraca stary timestamp:

R.utils::touchFile(file_name) 

jako zwykle, library(sos); ???touch było nieocenione do znalezienia tego.

Powiązane problemy