Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: wescker en 26 Noviembre 2016, 19:41 pm



Título: [BATCH] Necessito ayuda URGENTE ! SCRIPT BATCH !!
Publicado por: wescker en 26 Noviembre 2016, 19:41 pm
Mirad la cuestión es que tengo un script para hacer backups.

El script permite la creación de "perfiles" osea de directorios(carpetas) con un nombre que el usuario establece dentro del mismo script. Hasta aquí todo va bien....

Pero luego digamos que tengo echo un sistema para listar en pantalla los perfiles ya creados que se guardan en una carpeta. De la forma siguiente:

Citar
[2]- Crear backup des de un perfil ---
-----------------------------------

 Lista de perfiles.

 [1]. Albert Gene
 [2]. Albert Gene Tordera
 [3]. Fango Maricon
 [4]. Patricio Castillo
 [5]. Pedro Caraculo
 [6]. Script OP
 [7]. Aloja

------------------------------------
Elige perfil:

AQUÍ EL CÓDIGO QUE MUESTRA ESTA LISTA POR PANTALLA:
Citar
cls
echo.
echo [2]- Crear backup des de un perfil ---
echo -----------------------------------
echo.
echo. Lista de perfiles.
echo.
set /a c=0
for /f "tokens=*" %%a IN (C:\BATCKUP\llista2.txt) DO (set linea=%%a&call:aumentar_numeros)
echo.
echo ------------------------------------
set /p nom3=Elige perfil:

Pero el problema es que ahora necesito que cuando el usuario elija por ejemplo el numero 1 Se me vaya al perfil/carpeta Albert Gene.

Que si el usuario teclee el numero 6 se vaya al perfil que son carpetas remarco, Script OP.



Esto es todo no se como vincular la lista con las carpetas. Porque lo podría hacer todo a base de : IF "%nom2%" EQU "0" GOTO "directorio"

Pero no me sirve porque es muy limitado. Necesito que aunque el usuario cree 1000 Carpetas/perfiles. Todos saldrán numerados pero cuando el usuario escriba el numero de un perfil que se haga una copia de seguridad de ese dicho perfil/carpeta.

PD: Los numero pj: [1], [2],[3] se hace mediante este código :

Citar

for /f "tokens=*" %%a IN (C:\BATCKUP\llista2.txt) DO (set linea=%%a&call:aumentar_numeros)

:aumentar_numeros
set /a c=%c%+1
echo. [%c%]. %linea%


Que básicamente coje un fichero TXT que contiene la lista dinámica de todos los perfiles que se vayan creando.

Y le añade un numero en orden descendente osea del [1] .... [9]

A lado de cada perfil en cuestión por ejemplo si yo ahora crease un perfil quedaría así :

Citar

 [1]. Albert Gene
 [2]. Albert Gene Tordera
 [3]. Fango Maricon
 [4]. Patricio Castillo
 [5]. Pedro Caraculo
 [6]. Script OP
 [7]. Aloja
 [8]. NUEVO PERFIL

También he echo que se guarde en un .TXT la nueva lista con los numero ya incluidos. Esa es : lista2.txt

Como se podría hacer esto estoy perdido necesito ayuda, Gracias de Antemano...:(

En serio nadie me puede prestar ayuda ??? :-(

MOD: No hacer doble post. Usa el botón modificar.