2011-07-01 16 views
5

Tengo mil archivos .dat para ejecutar con el mismo programa. ¿Hay alguna forma o script más rápido para ejecutarlo automáticamente en lugar de ejecutarlos uno por uno? Los archivos .dat tienen diferentes nombres de archivo.¿Cómo se ejecuta el mismo código con muchos archivos (nombre de archivo diferente en el mismo directorio) en Matlab?

El programa es algo así como:

fid=fopen('**abd**.dat'); 
C=textscan(...); 
... 
save('**abd**.txt',data); 

El abd es el nombre del archivo. Tengo miles de archivos con diferentes nombres de archivo. Es un poco molesto por seguir copiando y pegando esos nombres de archivo en el programa y ejecutarlo. ¿Alguien tiene una forma o código más rápido para esto?

Respuesta

6

puede usar "dir" para obtener una lista de archivos, y luego procesarlos en un bucle como este.

fns = dir('*.dat'); 
for i = 1:length(fns) 
    fid = fopen(fns(i).name); 
    C = textscan(...); 
    fclose(fid); 
    save([fns(i).name,'.dat'],data); 

end 
1

Repiense el problema. Escriba una secuencia de comandos para leer un archivo de texto de nombres de archivo y cadenas. Entonces tienes 2 archivos, no miles.

Cuestiones relacionadas