Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Estoy intentando renombrar los archivos de una carpeta. Cada archivo tiene las iniciales de una persona en los primeros dos caracteres y el nombre de un gen en los siguientes (ejemplo: "DA PDK4.afa"), y los archivos tienen diferentes extensiones. Sólo quiero renombrarlos para que el nombre del gen aparezca primero y después el de las iniciales de la persona.
Éste es mi código:
Using perl Syntax Highlighting
- #!/usr/bin/perl -w
- use strict;
- use Getopt::Long;
- my $archivos;
- my @file;
- my $persona;
- my $gen;
- my $nombre;
- my $extension;
- my %opts = ();
- GetOptions (\%opts,
- 'd=s',
- 'o=s',
- 'help|h');
- opendir (DIR, "$opts{d}") or die "No se pudo abrir el directorio $opts{d}: $!";
- @file= readdir (DIR);
- closedir(DIR);
- @file=sort(@file);
- foreach $archivos (@file){
- $persona=substr(uc($archivos), 0, 2);
- $gen=substr(uc($archivos), 3, -4);
- $extension= substr($archivos, -4);
- $nombre="$gen $persona$extension";
- print "$archivos $nombre\n";
- rename($archivos, $nombre) || die "Cannot rename: $!";
- }
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Pero cuando lo corro me aparece:
Using text Syntax Highlighting
Cannot rename: Permission denied at (....)
No sé a qué se deba ésto, o cómo puedo abrir los permisos, porque lo estoy corriendo en Windows y no tengo ninguno de los archivos que quiero renombrar abiertos o nada por el estilo.
Apreciaría mucho que me pudieran ayudar porque me urge tener éstos archivos en orden y son de verdad muchos como para empezar a hacerlo a mano.