Matlab - Mover para un directorio común: archivos que tienen mismo nombre y están en directorios diferentes.

   
Vista:

Mover para un directorio común: archivos que tienen mismo nombre y están en directorios diferentes.

Publicado por Ali (7 intervenciones) el 19/08/2014 23:58:51
Hola José y estimada/os del Foro tan útil !

Tengo los siguientes directorios:

c:/general/posicion0/datos
c:/general/posicion1/datos
c:/general/posicion2/datos
....
c:/general/posicion9/datos

(esto es: mismo nombre de archivo de datos pero en diferentes directorios)

Quiero moverlos a todos (por ejemplo: para el directorio 'general'), con nombres consecutivos: datos0, datos1, datos2...datos9
Por lo tanto tengo que renombralos.

Sé la instrucción para mover un archivo de un directorio a otro, mi duda surge de cómo renombrarlos de una vez, estando en diferentes directorios cada archivo (que tienen el mismo nombre), para así pasarlos luego a 'general'.

Otra vez: muchísimas gracias desde ya !
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO

Mover para un directorio común: archivos que tienen mismo nombre y están en directorios diferentes.

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 20/08/2014 04:47:31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
>> pwd
ans =
H:\Users\jeremias\Downloads\aa
>> dir
datosx.txt
datosy.txt
datosz.txt
 
>> pwd
ans =
H:\Users\jeremias\Downloads\aaaa
>> dir
                            guardar_figuras_axis2_2.jpg
                           sino.jpg
>> pwd
ans =
 
H:\Users\jeremias\Downloads
 
>>copyfile('H:/Users/jeremias/Downloads/aa/datosx.txt','H:/Users/jeremias/Downloads/aaaa/datosx1.txt')
 
 
>> pwd
ans =
H:\Users\jeremias\Downloads\aaaa
>> dir
 
                           datosx1.txt                            sino.jpg
                           guardar_figuras_axis2_2.jpg


http://www.mathworks.com/help/matlab/ref/copyfile.html


Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online y Presencial en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com
Estimado Usuario de Matlab, el correo es para servicios de programación, toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mover para un directorio común: archivos que tienen mismo nombre y están en directorios diferentes.

Publicado por Ali (7 intervenciones) el 20/08/2014 18:29:37
Gracias Jose, he leído tu respuesta.

Pido miles de disculpas, debo aclarar lo siguiente, para hacerme entender:

Tengo los siguientes directorios con los siguientes archivos de datos medidos (archivos llamados 'datos.txt'):

c:/general/posicion0/datos.txt
c:/general/posicion1/datos.txt
c:/general/posicion2/datos.txt
....
c:/general/posicion9/datos.txt

Y ahora sí, la consulta:

Quiero moverlos, o copiarlos, a todos (por ejemplo:) para el directorio 'general', ahí deberán tener nombres consecutivos, para que no se superpongan: datos0, datos1, datos2...datos9.

Cómo renombrarlos de una vez (cómo meterme dentro de cada path), estando en diferentes directorios cada archivo, para así pasarlos luego a 'general'.

Creo que ahora expliqué mejor.
Agradecida nuevamente !

Ali
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jorge De Los Santos

Mover para un directorio común: archivos que tienen mismo nombre y están en directorios diferentes.

Publicado por Jorge De Los Santos (212 intervenciones) el 21/08/2014 17:37:03
Hola Ali.

Te adjunto el siguiente código que os puede ayudar:

1
2
3
4
5
6
NC=dir('posicion*');
for i=0:length(NC)-1
    origen=[NC(i+1).name,'\datos.txt'];
    destino=['datos',num2str(i),'.txt'];
    copyfile(origen,destino);
end


Ahora te explico algunas consideraciones: primero, ese script debe estar guardado en tu carpeta General o bien puedes utilizar la función "cd('ruta absoluta de la carpeta General)" para asegurar que te posicionarás ahí.

Del código: En la primera línea "buscas" todos los archivos/carpetas que comiencen con la palabra "posicion", con lo cual obtiene el nombre de todas las carpetas cuyo nombre es de la forma "posicionN" donde N es un número para vuestro caso. Posteriormente creas un ciclo que itera sobre todas los nombres de carpetas guardadas en la variable NC, en la variable "origen" se concatena la "ruta" relativa de donde obtendrás tu archivo, en este caso "posicionN\datos.txt"; la variable "destino" es una concatenación del nombre del archivo original ("datos.txt") más el indice correspondiente a la carpeta.


Saludos.

Jorge De Los Santos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mover para un directorio común: archivos que tienen mismo nombre y están en directorios diferentes.

Publicado por Ali (7 intervenciones) el 21/08/2014 23:01:46
Hola Jorge,

recién puedo acceder a tu comentario ! Gracias miles !
Justo era eso lo que estaba necesitando ! Solo que me armé lios en el orden de las intrucciones...

Lo pruebo y te comento, ok ?

Gracias !!
Agradezco por este foro tan útil y tan visitado !!!
Saludos,

ali
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mover para un directorio común: archivos que tienen mismo nombre y están en directorios diferentes.

Publicado por Ali (7 intervenciones) el 05/09/2014 15:16:36
Estimado Jorge,

disculpas miles, te debía respuesta a tus sugerencias ! y no había tenido chance de hacerlo antes.

Funcionó perfecto la movida de archivos para otro directorio, tal cual sugeriste.

Gracias miles, en contacto !!!

Saludos a José Jeremías y a toda/os en el Foro.

Ali
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar