CMD

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

jueves, 27 de noviembre de 2014

Comando "move"

Este comando, sirve para mover un archivo de una dirección a otra, puede resultar para diversas cosas que se encontrar al final del articulo.

Sintaxis:
move origen destino 

Origen:
La dirección actual del archivo

Destino:
La dirección a la que desees mover el archivo

Ejemplo:
eh creado en el escritorio la carpeta prueba1 y prueba2, y dentro de la carpeta prueba1 eh creado el archivo documento.txt, para mover el archivo de la carpeta prueba1 a prueba2 eh creado un archivo .bat en el escritorio con el siguiente contenido:

move prueba1\documento.txt prueba2\documento.txt

Si el archivo no se ejecuta donde esta las carpetas deberás poner la dirección completa que la puedes obtener en las propiedades del archivo.

Consejo:
Para tener que evitar poner en la dirección del archivo, la carpeta del usuario (ya que puede variar según la pc) puedes usar en vez de eso %userprofile% lo que marcara que es la carpeta del usuario.


Utilidades para el comando:

Estos son algunos ejemplos de cosas para las que se puede usar este comando en un programa:

- Si necesitas que tu programa, por ejemplo, se aloje en la dirección D:\, para que los usuarios no lo tengan que mover manualmente después de descargarlo, puedes crear un instalador que lo mueva a la dirección D:\

- También para la instalación de un programa para hacer mas fácil la creación de un acceso directo al escritorio puedes poner el acceso directo en la carpeta del programa y con el comando move armar un instalador que cree mueva el acceso directo.

- Otro ejemplo de uso podría ser un programa que directamente funcione para mover archivos mas fácilmente... claramente que ademas del comando move, necesitarías mas comandos como la utilización de variables y otros comandos básicos.

Estos son algunos ejemplos de programas en los que puede ser útil este comando.

martes, 25 de noviembre de 2014

Tutorial 1.3 - Juego de preguntas

Hola! En este post les traemos la tercera parte del tutorial del juego de preguntas. En este tutorial veremos como crear las ultimas 5 preguntas, mencionadas en el tutorial anterior. Para esto utilizaremos el comando "set /p". Como en el tutorial anterior, las palabras en rojo son las que se pueden cambiar, y las amarillas son las respuestas posibles. Acá va el código:

set nivel=11
:preg11
set /p pregunta1=pregunta
if %pregunta1%==respuestabien goto bien2
if not %pregunta1%==respuestabien goto mal2
:preg12
set /p pregunta2=pregunta
if %pregunta1%==respuestabien goto bien2
if not %pregunta1%==respuestabien goto mal2
:preg13
set /p pregunta3=pregunta
if %pregunta1%==respuestabien goto bien2
if not %pregunta1%==respuestabien goto mal2
:preg14
set /p pregunta4=pregunta
if %pregunta1%==respuestabien goto bien2
if not %pregunta1%==respuestabien goto mal2
:preg15
set /p pregunta5=pregunta
if %pregunta1%==respuestabien goto bien2
if not %pregunta1%==respuestabien goto mal2
:bien2
cls
set /a nivel=%nivel%+1
set /a respuestascorrectas=%respuestascorrectas%+1
if %nivel%==11 goto preg12
if %nivel%==12 goto preg13
if %nivel%==13 goto preg14
if %nivel%==14 goto preg15
if %nivel%==15 goto ganaste
:mal2
if %vidas%==1 goto perdiste
set /a vidas=%vidas%-1
if %nivel%==11 goto preg11
if %nivel%==12 goto preg12
if %nivel%==13 goto preg13
if %nivel%==14 goto preg14
if %nivel%==15 goto preg15
:ganaste
cls
echo.        /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
echo.        ^|      G A N A S T E       ^ |
echo.        \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
echo.        La parte que va aqui, incluyendo la tabla de jugadores sera explicada en el tutorial 1.4
echo.        Presione una tecla para salir
pause > nul
exit

En este codigo, la respuesta correcta se debe escribir en las dos lineas que estan abajo de los comandos "set /p", asi;

:pregx
set /p preguntax=Como se llama el sistema operativo creado por Microsoft?
if %pregunta1%==Windows goto bien2
if not %pregunta1%==Windows goto mal2
Le estamos diciendo al codigo que si la respuesta (o variable "%pregunta1%", que es lo mismo) es igual a "Windows" vaya al label que sube de nivel, en cambio, si la variable no es igual va hacia el label "mal2"

Comando "attrib"

Este comando agrega y quita atributos a archivos especificados, por ejemplo:

attrib -s %windir%/system32/shell32.dll

Este codigo quita el atributo de "archivo del sistema" al archivo "shell32.dll"
La sintaxis es:
attrib +atributo -atributo rutadearchivo/nombredearchivo(s)
El (+) y (-) sirven para agregar y quitar atributos, respectivamente.
Los parametros/atributos son:

R (solo lectura)
A (archivo de almacenamiento)
S (archivo de sistema)
H (archivo oculto)
I (archivo no indizado). (Comentario: este atributo no lo recomiendo, ya que tenia una carpeta con los archivos ordenados por fecha, con este atributo les quite la fecha a todos y ahora me quedaron todos desorganizados)
/s (procesa todos los archivos de la carpeta)
/d (tambien procesa carpetas)

No es de mucha utilidad, pero por las dudas hay que tenerlo en cuenta.

Secciones de Variables

Cuando queremos mostrar la hora actual de la maquina, no podemos escribir nuestra hora, si queremos que vaya cambiando. Usamos variables como antes las que hemos explicado.

%time% muestra la hora
%date% muestra la fecha

¿Pero si querémos solo mostrar la hora, o solo los minutos, o la hora y los minutos, sin segundos, o solo el més, o solo el día y el més?

Le haremos esto:
%time:~3,2% → Esto solo mostrara los minutos
%time:~6,2% → Solo los segundos
%time:~2,1% → Trollero: Solo muestra ":"

¿Que pasa? el :~2,1 hace que se muestren a partir del 2° caracter, un unico numero, el siguiente del segundo
Si fuese :~6,2 (segundos) muestra a partir del sexto caracter (:), muestre dos caracteres.
Si fuese :~6,3, quedarian los segundos y una coma, ya que despues de los segundos van los milisegundos
Se puede ver la diferencia aquí.
Y este uso particular de las variables sirve con cualquier variable:

Aquí los dejamos para que experimenten, y si tiene alguna duda, consulte en los comentarios. Gracias :D

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

jueves, 20 de noviembre de 2014

Tutorial 1.1 - Juego de preguntas

Hola, en esta entrada les traemos la primera parte de la serie de tutoriales en el que mostraremos como crear un simple juego en el que se debe responder correctamente una serie de preguntas. Este juego contará con un contador de respuestas correctas/incorrectas, tabla de puntaje y jugadores. En este primer tutorial crearemos el archivo bat, utilizando algunos de los comandos básicos que se encuentran aqui, ademas de los colores, que están aqui.
Empecemos
@echo off
title Juego de Preguntas
color 1f
pause
exit
Aquí hemos utilizado un comando no explicado previamente, "title". Este comando lo que hace es darle un nombre a la ventana de CMD en la que estamos.
Siguiente parte en tutorial 1.2

Colores en cmd

¿Como poner colores en cmd?

Es simple, solo hay que usar el comando color de la siguiente forma:

color FL

F:
Color de fondo

L:
Color de letra

El primer carácter cambiara el color del fondo y el segundo el de la letra, sin embargo, si solo se escribe un carácter cambiara el color de la letra.

caracteres para cada color:

0 = Negro
1 = Azul
2 = Verde
3 = Aguamarina 
4 = Rojo
5 = Purpura 
6 = Amarillo
7 = Blanco
8 = Gris
9 = Azul claro
A = Verde claro
B = Aguamarina claro
C = Rojo claro
D = Purpura claro
E = Amarillo claro
F = Blanco brillante


Ejemplos de uso:

color 9f

Cambiaría el color del fondo a azul claro y el de la letra a blanco brillante

color 46

Cambiaría el color del fondo a rojo y el de la letra a amarillo

miércoles, 19 de noviembre de 2014

Crear archivos y carpetas desde cmd

Crear archivos y carpetas en cmd, es muy facil y muy útil, ya que solo se necesita un comando:

Para crear un archivo:

echo t >> n.e

t:
Texto que aparecera en la primera linea del archivo
n:
Nombre del archivo
e:
extensión del archivo 

Recuerde que si no quiere crear el archivo dentro de la carpeta donde se ubica el cmd que en el que usted introduce este comando, debe colocar la ubicación del mismo antes del nombre.

Ejemplo

echo esto es una prueba >> carpeta\prueba.txt

También recuerde que no debe poner espacios en el nombre o no se guardara el nombre completo ni la extensión.

Para crear una carpeta:

mkdir a

a:
Nombre de la carpeta

Recuerde que si no quiere crear la carpeta dentro la carpeta donde se ubica el cmd que en el que usted introduce este comando, debe colocar la ubicación de la misma antes del nombre.

Ejemplo

mkdir carpeta




Notepad ++

Este notepad es el más recomendado para programar con cmd ya que su configuración de lenguaje permite saber si colocamos bien un código o no.
Link de descarga: https://drive.google.com/file/d/0B22zzXQh-F8xS2V5VFFaUHp3aEk/view?usp=sharing
Aclaración: este programa no es nuestro, solamente lo recomendamos. Acá esta la pagina oficial

Variables, como crearlas y para que sirven

Las variables en batch son códigos que contienen un valor alfanumérico (letras y números). Se pueden reconocer fácilmente debido a que están entre signos de "%". Algunas ya vienen creadas, como puede ser el ejemplo de "%time%", una variable que da el tiempo, con horas, minutos y segundos. Para crear una variable, el proceso es muy simple. Primero, la sintaxis, que es: "set variable1=hola" Estamos diciendo que la variable "variable1" tiene un valor "hola", por lo que si escribimos "echo %variable1%" nos va a salir un mensaje que dice "hola". Ahora, un ejemplo, pero con numeros: "set variable2=10". Aparte del comando "set", están los comandos "set /p", que "hace una pregunta". Lo que en realidad hace, es crear una variable con el nombre de la pregunta a partir de lo que ingresa el usuario, y la sintaxis esta acá. Por ultimo esta "set /a", este comando puede crear variables pero lo que realmente hace es hacer que la compu modifique la variable mediante cálculos y/o lógica. Un ejemplo es "set /a variable2=%variable2%+5" Lo que este código hace es (utilizando la misma variable de antes, que era 10) sumarse a si mismo el numero 5, por lo que esta variable queda como "15". Atención - las letras no se suman. Los operadores que puede utilizar el comando set /a son "+""-""*"y"/"

Comando "Shutdown"

El comando shutdown, básicamente, sirve para apagar el ordenador. Claramente no basta con solo escribir shutdown en cmd, este comando tiene diversas extensiones, las cuales sirven para variar el efecto del comando.

Las parametros son:
shutdown -a: Con esta extensión se anula el apagado,  claramente, mientras se este en el tiempo de espera.

shutdown -s: Con esta extensión se apaga el equipo y se le pude añadir otras extensiones que agregan o un aviso o un tiempo de espera, por ejemplo.


shutdown -p: Apaga el equipo y no tiene tiempo de espera o aviso.


shutdown -f: Fuerza a cerrar las aplicaciones sin previo aviso.


shutdown -c: Agrega un comentario o aviso al apagado del equipo.


shutdown -t: Agrega un tiempo de espera al apagado del equipo.


shutdown -h: Con esta extensión de hiberna el equipo.


shutdown  -l: Sierra la sesión en la que se ejecuta el comando.

shutdown -r: Con esta extensión se reinicia el equipo.


shutdown -m: Sirve para apagar un equipo en especifico.


shutdown -i:  Al ejecutar este comando se abrirá el  diálogo de apagado remoto, este puede ser utilizado para apagar otros equipos, simplemente sabiendo su nombre, y que este conectada por red.



Para utilizarlo Haga click en agregar y escriba el nombre del equipo, que puede ver desde MI-PC O EQUIPO.

Numeros random y comparacion

Hoy les traemos un post en el que se va a explicar sobre los números random y como compararlos es batch. Primero que nada, los números random son números que la compu elige, y varían entre 1 y 32767. La sintaxis es %random%, pero no es un comando, es una variable. Para crear una variable con el numero random, la sintaxis es "set variable1=%random%", y se le pueden poner limites, como se explica mas adelante. Si este se quiere mostrar como un mensaje en pantalla, la sintaxis es "echo %random%". A este número random se le pueden poner limites, como numero mínimo o máximo posible. En ese caso la sintaxis seria "%random% %%numeromaximo +numerominimo". Los paréntesis son mas que importantes si se espera que el código funcione. Aclaración: random tiene dos signos, uno al principio y otro al final. Entre el random y el numero máximo hay un espacio, y antes de este ultimo hay dos "%". Por ultimo, el numero máximo y el mínimo también hay un espacio y antes del minimo hay un "+"
Para comparar se usan estos códigos de tres letras
GTR mayor que
Geq mayor o igual que
Equ igual que
Leq menor o igual que
Lss menor que
La sintaxis es "%variable1% lss %variable2% echo la variable 1 es menor que la variable 2"
Cualquier consulta escribanla en comentarios

Comando "Echo"

Aqui les dejo un video tutorial. Si no entienden algo solo pregunten.
@echo off
title Hola Mundo!!
color ob
echo Hola Mundo!
echo.Hola Mundo!
echo.Ves Que Es Lo Mismo?

Comando "choice"

Como mencionamos anteriormente en este blog, hay un comando llamado "set /p" que sirve para preguntar algo al usuario y a partir de esa respuesta, crear una variable. Este comando es poco adecuado cuando se trata de pedir una respuesta como puede ser "1,2 ó 3", o "A,B ó C". Justamente este problema lo soluciona el comando choice, el cual automaticamente elige como respuesta la tecla presionada. Su sintaxis es de muy facil uso, como se puede ver en la siguiente imagen:

















Luego del comando, al lado del "/C" van las letras y/o números que se quiere que aparezcan como opciones para responder, sin ningún tipo de separación, todas juntas. No importa cuales sean las letras y/o números que estén después de "/C", pero si las opciones son "WASD", la W es 1, la A es 2, la S es 3 y la D es, obviamente, 4, por lo que en los renglones de abajo, como se observa en la imagen, se debera escribir: (solo doy el codigo del primero, los otros son similares, pero es importante que cada uno vaya abajo del anterior) "if %errorlevel%==1 comando". Esta linea es un ejemplo en el que la respuesta es "W" (-MUY IMPORTANTE- los dos signos de igual). Volviendo a lo anterior, si les queda la duda de que es "/M", es el mensaje que se mostrará junto con el comando choice. Este lo escribe cada uno a su gusto. Espero que hayan entendido, cualquier cosa comenten.

Comando IF (Si Condicional) y Preguntas

El comando if sirve para comparar respuestas.
Codigo Set/p:
Primero uno debe poner set/p para crear una pregunta, al lado pones el nombre de como querés que se llame la respuesta. set/p pregunta= luego después del igual se pone el texto que uno desee set/p pregunta=Como te llamas?  Para que aparesca la respuesta en un "echo" o un "MsgBox" tiene que poner echo.Bienvenido %pregunta% Y quedara asi.
@echo off
cls
set /p nom=Como te llamas?
echo.Bienvenido %nom%
pause >nul
Codigo If:
al codigo de Set/p le cambiamos algunos temas y nos quedara asi:
@echo off
cls
:start
set /p num=Ingrese un numero del 1 al 10...
If %num%==5 goto win
If %num% GTR 5 echo.Te has pasado
If %num% GTR 5 goto start
If %num% Lss 5 echo.Te has pasado
If %num% Lss 5 goto start
:win
color 0a
echo.Has ganado. Felicidades!
pause >nul

Muchas gracias por su tiempo!!!

martes, 18 de noviembre de 2014

Comandos básicos para crear un programa

En esta entrada publicaremos algunos comandos básicos para crear un programa (siempre en batch)
El siguiente no es un comando propiamente dicho, por lo que no le pongo numero. "> nul" Se puede añadir en la misma linea (al final obviamente) de cualquier comando, y lo que hace es ocultar el progreso o texto del comando en caso de tenerlo. Es muy útil para cuando se quiere correr un comando sin que este sea visible. Un ejemplo es con el comando pause (explicado mas adelante). Cuando se escribe "pause" aparece un mensaje que dice "presione una tecla para continuar". Si se escribe " pause > nul" no aparece ningún mensaje, sólo una linea vacía, aunque aun debemos presionar una tecla para continuar.
  1)"@echo off" - Este comando oculta la barra de dirección que aparece cada vez que se ingresa un nuevo comando. -MUY IMPORTANTE- Debemos poner el "@" al principio, de lo contrario, el comando funcionara igual, solamente que este primer comando aparecerá con la barra de dirección. Si el comando no es ingresado en la primera linea, todos los comandos que estén arriba de este tendrán la barra de dirección.
Ejemplos
Sin @echo off


Con @echo off














  2) "cls" Este comando borra lo que esta escrito en la pantalla hasta el momento, sin embargo los comandos que aparecían anteriormente siguen funcionando.
  3)"exit" Como bien se lee en su nombre (que en ingles significa "salir") sirve para cerrar la ventana de cmd abierta. Esta vez si dejan de funcionar todos los comandos.
  4)"start" Este comando sirve para iniciar un programa. La sintaxis es: start "direcciondearchivo/archivo.extension". El archivo a abrir debe ser un ejecutable o un archivo que ya tenga un programa predeterminado con el cual abrirse. Si tenemos, por ejemplo, un archivo HTML, que puede ser abierto con una gran cantidad de programas, y lo queremos abrir con Google Chrome, debemos modificar la sintaxis, de modo que quedara asi:














En el caso de que se quiera abrir un sitio web con un programa específico, la sintaxis es la misma que si se quiere abrir un archivo, como se muestra en la imagen anterior. Un ejemplo seria: start chrome.exe google.com
  5)"call" Este comando solo funciona con archivos ".bat" (script de batch). Lo que hace es abrir el archivo en la misma ventana de cmd en la que se esta en el momento en que se ingresa el comando, "combinando" todos los scripts, los que había antes de ingresar el comando y los que hay en el archivo abierto. La sintaxis de este comando es similar al anterior ("start"): call "rutadearchivo"/"nombredearchivo".bat (también puede ser .cmd o .nt, aunque son menos utilizadas)
  6)"echo" Este comando sirve para mostrar un mensaje en la misma ventana de cmd, como texto. La sintaxis de este comando es:"echo Hola". Este mensaje muestra el mensaje "Hola". Si se quiere dejar un renglón sin escribir nada, se puede presionar la tecla enter, aunque esto solo sirve en la ventana de cmd, si se esta escribiendo un script en un archivo de texto, la sintaxis será: "echo."
  7)"set /p" Este comando sirve para hacer una pregunta al usuario. La sintaxis del comando es: "set /p nombredepregunta=Texto mostrado en la pregunta". Este comado tambien sirve para recopilar información que escribe el usuario. En el caso de hacer una pregunta al usuario, suponiendo que las respuestas son "si" y "no", se debe escribir "if %nombredepregunta%==si echo Si" y un renglón abajo se debe escribir "if %nombredepregunta%==no echo No". Lo que hace este script es mostrar un mensaje que dice "si" si la respuesta es "si" y "no" si la respuesta es "no". -IMPORTANTE- Las comillas acá están escritas solo para diferenciar la sintaxis del resto del texto, por lo que NO deben ir escritas. Los "%" son obligatorios (a menos que no se espere que el comando funcione), al igual que los dos signos de "igual".
  8)"Pause" Este comando es prácticamente esencial. Como lo dice su nombre en ingles, "frena" el script, y cuando el usuario presiona cualquier tecla, este continúa con el siguiente comando.
  9)"shutdown" Este comando sirve para apagar la computadora, básicamente. Su sintaxis y descripción están bien detallada en este link
  10)"msg *" Este comando es muy util para mostrar notificaciones del script cuando este esta minimizado, o mientras se esta realizando una tarea en otro programa. Lo que hace es abrir una nueva ventana con el mensaje escrito previamente. La sintaxis es "msg * mensaje".
Mas adelante este post sera actualizado

Utilidad de inicio de sesion y/o registro

Este programa (creado totalmente por mi, aunque con algunas ideas sacadas de internet) en si mismo no tiene ninguna utilidad, pero combinandolo con otro programa puede ser de una gran ayuda, teniendo en cuenta que al utilizar diferentes cuentas, se pueden guardar datos, como ejemplo, aunque mientras se utilicen cuentas practicamente se puede hacer lo que se quiere.
Link de descarga: