W jaki sposób mogę zaktualizować plik (tj. Zaktualizować czas modyfikacji bez zmiany jego zawartości) w R? Czekam na cross-platform wbudowanych (lub równowartość w opakowaniu):Zaktualizuj czas modyfikacji pliku (dotknij)
system2("touch", file_name)
W jaki sposób mogę zaktualizować plik (tj. Zaktualizować czas modyfikacji bez zmiany jego zawartości) w R? Czekam na cross-platform wbudowanych (lub równowartość w opakowaniu):Zaktualizuj czas modyfikacji pliku (dotknij)
system2("touch", file_name)
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.
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.
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