Todo Sobre MS-DOS , Batch , CMD [Parte I]



Hola a todos, Este es mi primer post y como dice el titulo Hoy estaré informado a todas aquellas personas que quieren aprender o tener una referencia de lo que es Batch , MS-DOS y demás.






Es un archivo de procesamiento por lotes. se trata de archivos de texto sin formato, guardados con la extensión *.bat que contienen un conjunto de comandos DOS. Cuando se ejecuta este archivo bat, los comandos contenidos son ejecutados en grupo, de forma secuencial, permitiendo automatizar diversas tareas. Cualquier comando DOS puede ser utilizado en un archivo Batch.

Hay que aclarar Batch que no es un Lenguaje de Programación. Es un archivo de código que contiene comandos del, Shell de Windows, llamado MS-DOS, que pueden ejecutar desde Inicio->Ejecutar->CMD. 

Hay dos maneras de ejecutar comandos Batch. 
Desde el Shell de Windows. 
Escribiéndolos en un archivo de texto con extensión .bat y luego ejecutarlo. 


Primer Programa en Batch   "Hola Mundo"


Hola Mundo en Batch 
Comenzaremos creando un Simple y clásico "Hola Mundo", escribiendo en un archivo de texto el siguiente código. 
@echo off
echo Hola Mundo
pause exit

Ahora guardemos el archivo como Nombre.bat y lo ejecutamos. Nos aparecerá una pantalla negra que dirá "Hola Mundo", luego una linea abajo dirá "Presione una tecla para continuar" 
Explicamos:


echo: 

Imprime un texto en pantalla, que es el texto que viene después (el que le pasamos como parámetro), que en este caso es "Hola Mundo". Echo significa eco, por lo mismo "@echo off" elimina el eco, la repetición de la ruta en la que nos encontramos en cada línea código. 


pause:

Como se lee , pausa la ejecución del código. Ademas de Mostrar este texto en pantalla. "Presione una tecla para continuar" 


exit:

Cierra la ventana de Comando de la shell.

Aca dejo Mas en claro como se veria la ventana de la shell Sin usar la linea de comando de "@echo off" 

Como notaran Escribe todo el directorio en vez de escribir solo nuestra linea de comando que seria 

Hola Mundo

Presione una tecla para continuar . . .







CD o CHDIR: 
Si has trabajado en PHP, te sera fácil entender este concepto. Sirve para cambiar de Directorio o Mostrar el nombre del actual. Para usarlo, CD o CHDIR seguido de la ubicación del directorio al cual nos moveremos. 
cd "C:" 
chdir "C:" 
Los ejemplos anteriores hacen exactamente lo mismo, cambian al Disco C 

COPY: 
Sirve para copiar uno o más archivos a otro destino. 
Su sintaxis es la siguiente: 
Copy "Dirección del archivo" "Nueva dirección" 
Ejemplo:  
Copy "C:archivo.txt" "C:archivo2.txt"

Aquí copiaríamos un archivo del Disco C llamado "archivo.txt" como "archivo2.txt" 
Para acortar un poco podríamos usar: 
cd "C:" Copy "archivo.txt" "archivo2.txt"

Donde primero cambiamos de directorio al Disco C con cd "C:" y luego al copiar no tenemos que especificar que esta en el Disco C ya que ya nos encontramos en el. 

DEL: 
Sirve para eliminar uno o más archivos. Su sintaxis es: 
Del "ARCHIVO" 
También se puede añadir: 
del /f /q "archivo" 
Donde no pide confirmación de eliminación (/q) y fuerza al archivo a borrarse ( /f ) 

Move: 
Sirve para mover un archivo. Su sintaxis es: 
Move "Dirección Archivo" "Nueva Dirección" 

Cls: 
Sirve para limpiar el contenido de la pantalla: 
Ejemplo: 
@echo off 
echo Hola, Cuando pulses la tecla se borrara el contenido y cambiara por otro. 
pause 
cls 
echo ¿Ves? 
pause 
exit
 
Si quisiéramos averiguar más sobre las funciones, o conocer algunas nuevas por nuestra propia cuenta podemos escribir en el Shell el nombre del comando seguido de /? y aparecerá toda la información necesaria. 
Podemos poner en práctica esto de la siguiente manera: 
Abramos el Shell de windows: 
Inicio->Ejecutar-CMD

Una vez abierto escribamos: 
echo off

Para eliminar el eco. 
Luego para borrar el contenido de pantalla escribe: 
cls

Ahora veamos la ayuda de la función Copy: 
copy /?

Cerremos la ventana: 
exit

Ahora vamos a crear un Batch que copie un archivo, luego lo mueva a otro directorio, borre el original y vuelva a copiar el copiado. 
En la carpeta donde crearás el archivo .bat crea un archivo de texto llamado copiame.txt. En él, escribe lo que quieras. Este será el archivo que copiaremos. 
Ahora el Batch: 
@echo off 
echo Hola, Copiaremos un archivo 
pause 
copy "copiame.txt" "copiado.txt" 
move "copiado.txt" "C:copiado.txt" 
del "copiame.txt" 
cd "C:" copy "copiado.txt" "copiado2.txt" 
exit

Guárdalo en la carpeta como Elnombrequetuquieras.bat, y ejecútalo. 
Lo que ha hecho la cadena de instrucciones es más o menos lo siguiente: 
Primero apagamos el eco, luego imprimimos en pantalla "Hola, Copiaremos un archivo" 
Pausamos el intérprete para que no siga de largo. 
A continuación, copiamos el archivo "Copiame.txt" y su copia se llamará "copiado.txt". La movemos a la carpeta raíz del disco C, y eliminamos el original. 
Por ultimo cambiamos de directorio al disco C, copiamos la copia y cerramos el Batch. 
Después de que ejecutemos el Batch, si vamos al Disco C, veremos que hay dos nuevos archivos de texto: uno llamado copiado.txt y otro copiado2.txt. 
También si vamos a la carpeta del Batch, veremos no está el archivo de texto original, "copiame.txt".





Con Batch podemos crear otros archivos. Para ello, tenemos que escribir algo como esto: 

echo TEXTO DE PRIMERA LINEA > nombre.extension
echo TEXTO SEGUNDA LINEA >> nombre.extension
echo TEXTO SIGUIENTE LINEA >> nombre.extension

Al escribir echo seguido de un texto y el signo > creamos un archivo con el nombre que siga. 
Si ocupamos un echo seguido de un texto y el doble signo >> se escribirá en la siguiente linea vacía del archivo que prosiga.

Vamos a la prueba:

echo Creando un Archivo de texto > nuevo.txt
echo Esta es la Segunda linea >> nuevo.txt
echo Y esta es la siguiente >> nuevo.txt
echo esto esta espectacular >> nuevo.txt


Si ejecutamos este codigo, la pantalla negra se abrirá y cerrará. 
Pero en la carpeta en la que está nuestro batch se abra creado un nuevo archivo "nuevo.txt" que si lo abrimos, dentro estará escrito lo que especificamos.




Seguro que no te gusta mucho el aspecto del Shell. 
Aquí veremos como personalizarlo un poco.


Color:

Con la función color podemos cambiar los colores de fondo y las letras. Siendo su sintaxis: 
COLOR AB 
Donde A= El color de el Fondo y B= Color de las letras. 
Para ver todos los colores ve el MS-Dos y escribe color/? 


Title:

Para cambiar el título de la barra de tareas solo escribe: 

Title Loquequierasentutitulo


Pause Personalizado: 


¿No te gusta que al poner pause salga "Presione una tecla para continuar..."? 
Pues si escribes "pause>nul" no aparecerá ni un texto. 
Entonces si anteponemos un mensaje, quedaría así. 
echo Aprieta cualquier tecla para continuar !
pause>nul

Además puedes jugar con los caracteres. Aquí un ejemplo, donde cambié los colores y jugué con los caracteres y personalicé el pause: 



El código que empleé para esto fue: 
@echo off

color 30
echo                       ==================================
echo                       = =                              =
echo                       = Personalizado                  =
echo                       =        IDENTI.LI USER: Ghermy  =
echo                       = =                              =
echo                       ==================================
echo.
echo.
echo ESTO ES PERSONALIZADO :o! OH POR DIOS!, para salir presiona una tecla.
pause>nul exit

Cabe mencionar que echo. (Echo seguido de un punto)sirve para saltarse una línea. 



Matando Procesos: 
¿Alguna vez has presionado CTRL+ALT+DELETE? 
Si lo haces se abre el Administrador de tarea. En la pestaña procesos salen algunos procesos que están andando en tu PC, haciéndoles click y apretando "terminar proceso" lo puedes acabar. 
Con batch eso es muy fácil, se usa la función: 
Taskkill (No funciona en todas las PC, para ver si esta disponible escribe taskkill/?) 
Su sintaxis es: 
taskkill /f /im proceso.exe

/f Fuerza el término del proceso. 
Un ejemplo seria escribir. 
taskkill /f /im wmplayer.exe

Si lo ejecutas y tienes el Reproductor de Windows Media abierto, este se cerrará.


ABRIENDO PROCESOS:

Ahora abramos ese proceso que cerramos. Para abrir procesos se usa la función Start que funciona así: 

start proceso.exe

También puedes abrir paginas web con tu explorador predeterminado. 
Ejemplo1: 
start wmplayer.exe

Se abrirá el Reproductor de Música 
Ejemplo2: 
start www.google.com.ar
Para llamarla debemos escribir su nombre entre los signos %% 
Ejemplo: 
@echo off 
set Nombre= Fabrimich 
echo %Nombre% 
pause

La pantalla nos mostrara algo así: 




Bueno esto fue todo por ser mi primer Post espero que les halla gustado , y la verdad me costo trabajo pero 
Es para que se informen sobre Batch Un Saludo grande a todo IDENTI!  

SEPAN QUE TUVE QUE CORTAR EL POST PORQUE ERA MUY LARGO  asi que Pondre la segunda parte
ahora mismo SALUDOS!

PD: Dejo el Link de la segunda parte !    SEGUNDA PARTE



Todo Sobre MS-DOS , Batch , CMD [Parte I]
67 Puntos Score: 6.7/10
Visitas: 2614 Favoritos: 29
Ver los usuarios que votaron...
29 Comentarios Todo Sobre MS-DOS , Batch , CMD [Parte I]
@elefantesrosas  Muchas Gracias Hago lo posible para que La comu sea de lo mejor , Gracias!
@FenlotDJ  Muchas Gracias!
@et1999  Muchas Gracias! , Me alegro que te guste!
esperando,,,,gracias mil!!!!!!!!!!!!!
sabia mucho de eso pero por falta de practica se me olvido bastante  
@soul51 Gracias! , Por cierto la Parte II  ya la subi Espero que te guste!
@FenlotDJ Suele Pasar me pasan con otros lenguajes de Programacion es practica , practica y asi D: jajaj Un saludo y gracias por todo!  
@radiokp Muchas Gracias maestro  
Jajajajaja me acorde de cuando estudie. Esa cosa de programaci?
@losotros Jajaj Gracias , Me alegro que te guste el post
Te falto ese comando. C:.......
@losotros Mmm a que te refieres bien.. ?
Cita losotros: Mostrar
+5 y a favoritos
@johnpanthe Gracias Master me alegro que te guste  
welcome ya eres new full user y yo fui uno de tus padrinos con 15 puntos jejeje
@radiokp Muchas gracias por la bienvenida! y por tu aporte la verdad me sirve para aprender trato de hacerlo lo mas prolijo y a llevado de las reglas Muchas gracias     , Pronto voy hacer otro buen post!
Muchas Gracias colega! Muy buen trabajo   Me encanto
@Dosu  Me Alegro que te halla gustado! Un Abrazo colega  
En clases me ense?
@Nehalem Gracias Jajaj Espero te guste un saludo y gracias nuevamente por pasarte  
@elcuanto Gracias  
buen post
cayeron las imagenes
+favs y +10 despues paso y veo mas detenidamente! gracias!
Para dejar un comentario Registrate! o.. eres ya usuario? Accede!