¿Cómo puedo obtener la última hora de modificación de un directorio en Perl en Windows?

StackOverflow https://stackoverflow.com/questions/2656519

  •  27-09-2019
  •  | 
  •  

Pregunta

En Perl (en Windows) como determino la última hora de modificación de un directorio?

Nota:

 opendir my($dirHandle), "$path";
 my $modtime = (stat($dirHandle))[9];

resultados en el error siguiente:

  

La función dirfd está sin aplicarse en la línea scriptName.pl lineNumber.

¿Fue útil?

Solución 2

Al parecer, la verdadera respuesta es simplemente estadística llamada en una ruta de acceso al directorio (no en un gestor de directorio tantos ejemplos de hacernos creer) (al menos para las ventanas).

ejemplo:

my $directory = "C:\\windows";
my @stats = stat $directory;
my $modifiedTime = $stats[9];

si quieres convertirlo a localtime que puede hacer:

my $modifiedTime = localtime $stats[9];

si quiere hacerlo todo en una línea que puede hacer:

my $modifiedTime = localtime((stat("C:\\Windows"))[9]);

En una nota, el Win32 UTCFileTime Perl módulo tiene un error de sintaxis que impide que el módulo de Perl se interpreten / compilado correctamente. Lo que significa que cuando se incluye en un script Perl, que script también no funcionará correctamente. Cuando combino sobre todo el código real que hace algo en mi guión y vuelva a intentar que, Perl, finalmente se queda sin paradas de memoria y ejecución. De cualquier manera está la respuesta anterior.

Otros consejos

Utilice el Win32 :: UTCFileTime módulo en CPAN, que refleja la < a href = "http://perldoc.perl.org/functions/stat.html" rel = "noreferrer nofollow"> función integrada de stat 's interfaz:

use Win32::UTCFileTime qw(:DEFAULT $ErrStr);
@stats = stat $file or die "stat() failed: $ErrStr\n";
 my $dir_path = "path_of_your_directory";
 my $mod_time =  ( stat ( $dir_path ) )[9];
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top