CMD

CMD
Las publicaciones en este blog estan exclusivamente redactadas por los autores, excepto citas. Todos los codigos aqui indicados han sido previamente probados

viernes, 21 de noviembre de 2014

Comando "Xcopy"

Hola a todos, y gracias por participar en este blog. Hoy les traigo un comando bastante complejo: el Xcopy
Funcion: Copia Archivos
Uso: xcopy [parametros]* "[direccion1]" "[direccion2]"

*Parametros: Son instrucciones que se le dan al comando, como que tipo de archivos copiar y como copiar.

A continuacion habra una lista de parametros:
/A           Copia solo archivos normales (Comentario: No sirve para nada,                                                            a si de facil).
/M           Copia solo archivos normales, pero cuenta con carpetas.
/D:m-d-a     Copia archivos cambiados durante o después de la fecha.
              Si no se da una fecha, copia solo aquellos archivos cuya
              fecha de origen es más reciente que la fecha de destino.
/EXCLUDE:archivo1[+archivo2][+archivo3]...
             Especifica una lista de archivos a excluir.
/P           Pregunta antes de crear cada archivo de destino.
/S           Copia directorios y carpetas dentro, excepto los vacíos.
/E           Copia directorios y carpetas dentro, incluidos los vacíos.
/V           Comprueba el tamaño de cada archivo nuevo.
/W           Pide que se presione una tecla antes de copiar.
/C           Continúa copiando incluso si ocurren errores.
/I           Si el destino no existe y se está copiando más de un archivo,
             se da por supuesto que el destino debe ser un directorio.
/Q           Oculta nombres de archivo mientras copia.
/F           Muestra los nombres completos de los archivos de origen y
             destino mientras realiza la copia.
/L           Muestra los archivos que se copiarán.
/G           Permite la copia de archivos cifrados en un destino que no es compatible con               el cifrado.
/H           Copia archivos ocultos y también archivos del sistema.
/R           Sobrescribe archivos de solo lectura.
/T           Crea una estructura de directorios, pero no copia archivos. No
              incluye directorios o subdirectorios vacíos. /T /E incluye
              directorios y subdirectorios vacíos.
/U           Copia solo archivos que ya existen en el destino.
/K           Copia atributos. Xcopy normal restablecerá los atributos
             de solo lectura.
/N           Realiza la copia con los nombres cortos generados.
/O           Copia la propiedad de archivos y la información de ACL.
/X           Copia la configuración de la auditoría de archivos
              (implica /O).
/Y           Suprime la confirmación de sobrescritura de archivos.
/-Y          Pide confirmación de sobrescritura de un archivo
             de destino existente.
/Z           Copia archivos de red en modo reiniciable.
/B           Hace accesos directos en vez de archivos.

/J           Copia con búfer I/O. Recomendado para archivos muy grandes.

Tutorial 1.2 - Juego de preguntas

Buenas! En este post les traemos la segunda parte del tutorial sobre como hacer un juego. En esta parte veremos como comenzar, utilizando el comando "choice" mencionado aqui. Para la segunda parte del juego, utilizaremos el comando "set /p". Esto quiere decir que en los primeros diez niveles el jugador elegirá una opción de una lista, y en los cinco niveles restantes (mas difíciles) el jugador deberá escribir la respuesta. Igualmente, se pueden hacer mas o menos niveles. Comenzaremos con las preguntas. Las palabras pintadas en rojo son las que se pueden cambiar, las demas las dejamos tal como estan.
Aclaración: este codigo va debajo del que esta en el tutorial anterior, solo que debemos borrar el ultimo "pause" y "exit"
En este codigo tambien se utilizan labels (:preg1, etc...), que definen una serie de codigos, y el comando "goto", que nos permite "ir de label a label".

:start
set respuestascorrectas=0
set vidas=10
set nivel=1
:preg1
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:bien
cls
set /a nivel=%nivel%+1
set /a respuestascorrectas=%respuestascorrectas%+1
if %nivel%==1 goto preg2
if %nivel%==2 goto preg3
if %nivel%==3 goto preg4
if %nivel%==4 goto preg5
if %nivel%==5 goto preg6
if %nivel%==6 goto preg7
if %nivel%==7 goto preg8
if %nivel%==8 goto preg9
if %nivel%==9 goto preg10
if %nivel%==10 goto setppart
:mal
cls
if %vidas%==1 goto perdiste
set /a vidas=%vidas%-1
if %nivel%==1 goto preg1
if %nivel%==2 goto preg2
if %nivel%==3 goto preg3
if %nivel%==4 goto preg4
if %nivel%==5 goto preg5
if %nivel%==6 goto preg6
if %nivel%==7 goto preg7
if %nivel%==8 goto preg8
if %nivel%==9 goto preg9
if %nivel%==10 goto preg10
:preg2
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg3
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg4
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg5
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg6
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg7
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg8
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg9
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg10
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:perdiste
cls
echo Perdiste en el nivel %nivel%
echo Presione una tecla para volver al menu
pause > nul
cls
goto start
:setppart
echo. En el tutorial 1.3 se explicara esta parte
echo. Presione una tecla para salir
pause > nul
exit
Este código parece muy largo y complejo, pero de complejo no tiene nada. Esta compuesto por varios labels iguales a los que se les cambian el texto y respuestas correctas, y representan cada uno un nivel. Los otros labels son para pasar de nivel y sumar o restar vidas/niveles
Aclaración: En este codigo, todas las respuestas correctas son la numero 1, pero esto se puede cambiar modificando la parte que dice
"if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal"
intercambiando de renglones el "goto bien" y "goto mal", como por ejemplo
"if %errorlevel%==1 goto mal
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto bien
if %errorlevel%==4 goto mal"
En este codigo, la respuesta correcta es la 3. Para que una o mas respuestas sean correctas, lo que se debe hacer es decirle al programa que vaya a bien al ingresar ese numero. Ejemplo de dos respuestas correctas:
"if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto bien
if %errorlevel%==4 goto mal" 
en el renglon que dice "if %errorlevel%=numerodepreguntacorrecta se debe poner goto bien (despues de este codigo) y si la respuesta es incorrecta, el codigo funciona a la inversa.
Lo que hace el label "bien" en este código es ir al nivel siguiente y sumar una respuesta correcta. Lo que hace el "mal" es restar una vida
En el siguiente tutorial explicaremos cómo crear la parte más difícil, la del set/p, en la que el jugador debe escribir su respuesta. Más adelante todavía explicaremos como crear usuarios y guardar los puntajes. Cualquier cosa comenten.
El codigo de este post fue actualizado. En caso de tenerlo desde antes del 21/11 17:00 (hora de argentina), borrarlo y copiarlo nuevamente