Wenas...
Escrito originalmente por djektor Tengo hecha la estructura, me falta rellenar lo que tengo q poner para q me haga lo que yo le pido...
@ECHO OFF
ECHO ********************
ECHO * PAPELERA *
ECHO * ---------------- *
ECHO * MENU PRINCIPAL *
ECHO ********************
ECHO
ECHO
ECHO
ECHO 1.- Borrar un archivo.
ECHO 2.- Ver el contenido de la papelera.
ECHO 3.- Restaurar un fichero.
ECHO 4.- Vacia la papelera.
ECHO 5.- Salir.
ECHO
ECHO ESCOGER LA OPCION DESEADA
IF "%1"=="" GOTO ERROR
CHOICE /C:12345 /t:5,30
IF ERRORLEVEL 5 GOTO FIN
IF ERRORLEVEL 4 GOTO VACIAR
IF ERRORLEVEL 3 GOTO RESTAURAR
IF ERRORLEVEL 2 GOTO VER
IF ERRORLEVEL 1 GOTO BORRAR
:BORRAR
:VER
:RESTAURAR
:VACIAR
:FIN
Veo que prácticamente ya está terminado, ¿no? Oooh
Bien,vamos por partes, como díria Jack el destripador!!
Supongo que esta prueba es una práctica de algún curso/asignatura, etc. Por ello, dependiendo del temarío/teoría que hayas dado, la respuesta que te doy, usando unos comandos u otros, serán los más correctos.
Otra cosa es la forma de "aceptar" los parámetros necesarios. Creo, según el menú que presentas, sólo es necesario un parámetro: el fichero a anular/restaurar. Seguramente le entrará al bat como parámetro, o sea, teclearías algo así:
c:/> papelera leeme.txt
siendo "papelera" el nombre del fichero bat y "leeme.txt" el fichero a anular/restaurar. Pero claro, todo esto depende del ejecicio que te han planteado.
También queda por saber si la ubicación del directorio "papelera" es fija, si existe o hay que crearla si no existe.
Según el menú presentado, creo que sólo borra/restaura ficheros (que simplifica mucho el programa).
¿Me puedes aclarar estos puntos?
Saludos [bye]
NOTA: Sobre el parámetro, se le pueden pasar todos los parámetros que quiereas a una bat (los parámetros serían los grupos de carácteres, separados por espacios, que se teclean tras el nombre del fichero bat. Para referenciarlos en el bat es tan simple como %n siendo 'n' el número de posición, así %0 sería el nombre del fichero bat, %1 el primer parámetro tecleado, %2 el segundo, etc,etc... Un ejemplo:
C:/> papelera uno dos tres ....
%0 sería "papelera.bat"
%1 sería "uno"
%2 sería "dos"
%3 sería "tres"
Es decir, lo que hace es "sustituir" la cadena %n por los caracteres que correspondan a ese parámetro. Existe una excepción, y es cuando se pregunta por uno de esos parámetros (o se incluyen en un FOR), que hay que poner dos %, es decir, algo así:
IF /%%1/==// GOTO AYUDA
No es más que preguntar si el parámetro uno está vacío, si es así, que presente la ayuda. Fácil, ¿no?
(Si metes más de 9 parámetros, tras leer el noveno debes de hacer "shift" para que se "desplacen" y el décimo sea ahora el primero, el undécimo sea el segundo, etc).
La verdad, es que esta pregunta me ha traído muy buenos recuerdos!!! Los tiempos del 3.0, 3.3 (lo mejor hasta la 5),4.0 (mierda de S.O), 5.0, 5.1, 5.2, 6.0, 6.1, 6.2, 7.0 (ya incluido en W95),...
Saludos