2015-06-03 9 views

risposta

4

Vedi ?Sys.setFileTime
In questo caso Sys.setFileTime(path_to_file_or_directory, Sys.time()) sarà presumibilmente ottenere il lavoro fatto:

Su un sistema Unix -al contrario utilizza la chiamata di sistema 'utimes' se è disponibile , altrimenti 'utimes'. Su un file system POSIX imposta sia gli ultimi tempi di accesso e modifica.

Su Windows utilizza la chiamata di sistema 'SetFileTime' per impostare l''ultimo tempo di scrittura'. Alcuni file system di Windows registrano solo il tempo con una risoluzione di di due secondi.

Anche se io non sono sicuro di come conciliare "utilizza‘utimes’la chiamata di sistema se questo è disponibile, altrimenti‘utimes’" con qualsiasi dichiarazione significativa.

+1

Grazie. Anche la questione della documentazione mi sembra strana. Sembra un 's' fuori posto: https://github.com/wch/r-source/blob/af607e72f8101f4262a666c5a16a40c4c2a99969/src/main/platform.c#L2923-L2934 – krlmlr

5

ho trovato an implementation nel pacchetto R.utils, si utilizza lo stesso schema suggerito da @thelatemail ma offre anche vettorializzazione e un ripiego per R < 2.14, e in modo invisibile restituisce il vecchio timestamp:

R.utils::touchFile(file_name) 

Come al solito, library(sos); ???touch è stato di valore inestimabile per trovare questo.

Problemi correlati