Copiar estructura de carpetas con ficheros selectivos

Busco la manera en windows o en unix de solucionar el siguiente problema.
Tengo una estructura de carpetas que constan de los nombres de pueblos de una provincia, dentro de cada carpeta de cada pueblo hay numerosas carpetas y dentro de ellas "puede" haber una carpeta llamada archivofisico que contienen archivos que quiero copiar.
Busco la manera de copiar SOLO los archivos de esa carpeta y no de las demás así como toda la estructura de carpetas de la carpeta que copie.
Una misma carpeta de un pueblo puede tener cientos de carpetas de la llamada "archivofisico" en sus subcarpetas..
No se si me he explicado bien..
He probado algún programa de copiar, sincronizar y algún comando en linux, pero no consigo dar con ello.
Si conoces alguna solución bien sea con programas o scripts..
Es todo un reto
Respuesta
1
Ante todo, si es algo complejo
Pero se me ocurre, para el caso de Windows (windows es un DOS disfrazado así que mejor hacerlo desde DOS) (accesorios, símbolo del sistema) utilizar el comando xcopy con la siguiente sintaxis
xcopy archivofisico\*.* d:\ /s /e
/S indica que incluya los directorios
/E que copie directorios vacíos
Ahora linux definitivamente es más poderoso, podría ser que solo la sintaxis de cp pueda ayudarle sino, sería hacer algo con un script y utilizando expresiones regulares (una expresión regular le indica a un comando que criterio debe seguir una expresión, por ejemplo
[a..zA..Z1..9_/]*/archivofisico/[a..zA..Z1..9_]*
Le estamos indicando una cadena que contenga cualquier combinación de letras y números (en mayúscula o minúscula) más el símbolo (guion menor) que contenga la cadena '/archivofisico/' seguido de una cadena con cualquier combinación de letras y números (en mayúscula o minúscula) más el símbolo (guion menor).
Entonces si no estoy mal, el comando sería
cp [a..zA..Z1..9_/]*/archivofisico/[a.. zA.. Z1.. 9_]* destino -R
Creando el árbol del directorio, ahora, para crear la estructura de otros directorios que estén vacíos, la verdad sería de investigar más sobre cp o el comando mv
Julius
-Guatemala-
Ya he dado con la solución... pero no lo he hecho como me has dicho ya que no lo realizaba ni en msdos ni en linux..
De todas formas gracias

1 respuesta más de otro experto

Respuesta
1
Gracias por tu pregunta zarul pero no te puedo ayudar. Por favor realiza la pregunta a otro compañero experto en scripts y/o programación. Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas