elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Como saltarse una carpeta (directorio) y buscar dentro otra carpeta
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como saltarse una carpeta (directorio) y buscar dentro otra carpeta  (Leído 2,023 veces)
manku

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Como saltarse una carpeta (directorio) y buscar dentro otra carpeta
« en: 23 Abril 2016, 10:50 am »

Hola, estoy intentando hacer un script bat para hacer un backup pero no encuentro como puedo hacer para poner el nombre de una carpeta sea un comodin.

Es decir teniendo la siguiente estructura:

C:/Ruta/carpeta 1/2013
C:/Ruta/carpeta 2/2013
C:/Ruta/carpeta 3/2013
C:/Ruta/carpeta 4/2013

dentro de cada carpeta hay más... 2013,2014,2015,nombre,fichero,etc...
mi intención es crear un script que haga un backup recursivo de todo lo que hay dentro de carpeta 2013 de cada carpeta y me lo comprima en un zip con la ruta...
es decir que busque en:
c:/Ruta/*/2013
y en el zip que salga
carpeta 1/2013/ y todo el contenido ya sean directorios o archivos.
carpeta 2/2013/ y todo el contenido ya sean directorios o archivos.
carpeta 3/2013/ y todo el contenido ya sean directorios o archivos.
carpeta 4/2013/ y todo el contenido ya sean directorios o archivos.

He buscado por todos lados y no encuentro la manera de hacer que un directorio sea como un comodin...

He pensado en hacerlo con un for y token pero tampoco sé como poder hacer que la ultima carpeta cambien de nombre...

Tengo el siguiente script:
Código:
@echo off 

:copia
echo Copiando archivos...
xcopy /e /d /y "C:\Ruta\respaldo prueba" "C:\Ruta\pruebas"
echo.

:compresion
set /p comprimir=Desea que cree un fichero comprimido? [s/n]
echo.
if %comprimir%==s (
echo.
echo Comprimiendo...
"C:\Program Files\7-Zip\7z" a -t7z -m0=lzma -mx=9 "C:\Ruta\pruebas\backup_%date:~6,4%%date:~3,2%%date:~0,2%.7z" "C:\Ruta\pruebas"
echo.
echo Fichero comprimido creado!
) else (
if %comprimir%==n (
color echo No se comprimirá!
) else (
echo Ha de poner s o n en miniscula.
goto compresion
)
)
echo.

:eliminar
set /p eliminar=Desea eliminar las carpetas copiadas? [s/n]
echo.
if %eliminar%==s (
echo.
echo Eliminando...
RD /S /Q "C:\Ruta\pruebas"
echo.
echo Ficheros eliminados!
) else (
if %eliminar%==n (
echo no se eliminaran
echo.
)
)
echo.

He conseguido crear una copia de todo y un zip de todo y eliminar las carpetas copiadas pero no consigo que lo haga todo en el mismo directorio por ejemplo "C:\Ruta\respaldo prueba\backup\"

Alguien podría ayudarme?, muchas gracias.


En línea

Alenge

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Como saltarse una carpeta (directorio) y buscar dentro otra carpeta
« Respuesta #1 en: 24 Abril 2016, 09:35 am »

Como ya he dicho en el otro tema, quizás sea util meter un FOR que vaya recorriendo carpeta por carpeta, todas las que están en C:/Ruta y a lo mejor otro anidado con un if para comprobar si de entre los contenidos de cada carpeta hay otra llamada 2013.

No entiendo la parte en que comentas lo del FOR y el token, no sé por qué la última carpeta te puede dar problemas.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines