Mejorando el trabajo en el sistema. Hemos aprendido a usar el Ms-Dos, pero no es suficiente si queremos hacer un trabajo eficiente con la computadora. Es mejor tener un sistema ¢ptimo para trabajar y saber ciertas cosas para poder automatizar ciertos trabajos repetitivos. Que son los archivos de comando ? Son archivos Ascii (texto) en los que se pueden encontrar comandos Ms-Dos. Estos comandos se ejecutan en orden una vez que se coloca el nombre del archivo sin necesidad de intervenci¢n humana, por ello se llaman archivos de procesamiento por lotes (Batch) una vez que terminan lo que tienen que hacer vuelven al D.O.S. igual que luego de haber introducido manualmente los comandos desde el s¡mbolo del sistema. Porque son £tiles los archivos de comando ? Los archivos de comando son potentes porque tienen acceso a todos los recursos del Ms-Dos y adem s existen comandos adicionales para trabajar desde all¡, se pueden introducir comandos de decisi¢n lo cual los hace muy potentes, el £nico problema es que se torna muy complejo de escribir a medida que nuestro problema aumenta, tanto que para problemas medianos (a nivel de comandos) es mucho m s f cil usar un lenguaje de programaci¢n cualquiera que realizar un archivo de comando. Realizando un comando inteligente Vamos a ver un archivo por lotes que acepta el nombre de varios archivos y le aplica un comando type a cada uno. Escriba: copy con observa.bat :inicio if .%1==. goto fin @echo ********************************* @echo * * @echo Ejecutando type al archivo %1 @echo * * @echo ********************************* type %1 shift goto inicio :fin Este archivo batch acepta varios nombres de archivo como par metros y los muestra por pantalla. Por Ejemplo: observa pru.bat list.txt Motrar¡a los archivos pru.bat y list.txt por pantalla uno por turno. Explicaci¢n del programa: La primera l¡nea crea el archivo que se llamar  "observa.bat". :inicio Indica una etiqueta a la que despu‚n se salta con la sentencia goto . If .%1=. goto fin %1 significa el primer par metro, %2 el segundo y as¡. La sentencia indica que si un punto + el primer par metro = . entonces el programa se termina. L¢gico si el par metro era pru.bat entonces ".pru.bat" es diferente a "." y el programa sigue, mientras que si el par metro era vac¡o entonces "."="." con lo cual el programa termina. @echo @ significa que ese comando no se muestre mientras se ejecuta (igual que echo off para ese comando), mientras que echo muestra el texto que le sigue por pantalla. type %1 Imprime el archivo que es el primer par metro (en nuestro caso %1=pru.bat se imprime pru.bat ). Shift Hace que %3 pase a ser %2, %2 pasa a ser %1 y %1 original se desecha, el segundo par metro pasa a ser el primero. Se soporta hasta %9 (9 par metros). Goto inicio Salta a hacer todo de nuevo pero como se han desplazado los par metros entonces ahora se imprime el segundo par metro y seguir  hasta que el shift produzca un %1 vac¡o lo cual har  que la condici¢n de arriba no se cumpla y termina el programa. Un £ltimo archivo de comando Escriba lo siguiente: copy con llamar.bat for %%a in (*.*) do call observa %%a Este archivo imprime todos los archivos del directorio actual. Explicaci¢n: la primera l¡nea crea el archivo que se llama "llamar.bat" for %%a in (*.*) do call observa %%a For asigna la variable %%a a cada archivo que encuentre con el especificador de b£squeda asignado (*.*), para todos ellos hace un call que llama a un archivo por lotes que es el que acabamos de crear y que muestra un archivo, le env¡a %%a que es 1 archivo como par metro. "Observa.bat" hace su trabajo entonces for encuentra otro archivo le asigna la variable %%a y vuelve a llamarlo hasta que se acaban los archivo. De esta manera puede colocar muchos comando como resultado de ejecutar un for (llamando a otro archivo por lotes con call). Porque es especial el archivo autoexec.Bat ? Este debe ser un archivo de comando como los que escribimos en el apartado anterior pero este es especial porque el D.O.S lo busca cuando se prende el sistema y trata de ejecutarlo, por ello el archivo autoexec.bat debe tener los comando necesarios para personalizar el sistema. El prompt Una de las primeras cosas que hace Ms-Dos cuando se instala es cambiar el propmt colocando lo siguiente en su autoexec.bat prompt $p$g Que significa que el prompt indicar  la unidad y directorio seguido de ">" m s informaci¢n la encontrar  en la descripci¢n del propio comando (Cap 2). Path Esto le indica donde buscar  el dos cuando se especifique nombres de archivos ejecutables. Ejemplo: Path=c:\file;d:\trab Entonces despu‚s de inicializar el sistema si coloca el nombre de un ejecutable se busca en el directorio actua, luego en "c:\file", luego en "d:\trab" si no encuentra en todos ellos emite el mensaje de archivo no encontrado. Loadhigh Carga programas en el  rea de memoria superior para ahorrar memoria convencional. Un archivo autoexec.bat t¡pico: @echo off prompt $p$g path c:\dos;c:\util;c:\nbackup;h:\file\bat; set nbackup=c:\nbackup set temp=c:\dos loadhigh c:\dos\doskey loadhigh c:\util\mouse Explicaci¢n de las l¡neas: 1:Desactiva la aparici¢n de los mensajes en pantalla para todo el archivo. 2:Cambia el prompt a "c:\>" 3:Coloca lo caminos de b£squeda. El directorio "c:\dos" es primero puesto que se usa con m s frecuencia que los dem s. 4:El "set nbackup=nbackup" indica al programa norton backup sobre donde est  este. Particularmente "Norton" es bastante superior al Ms-Backup. 5:Set temp=c:\dos indica a la mayor¡a de programa el directorio donde se deben crear todos los archivos temporales. Generalmente debe ser un disco de Ram para ahorrar espacio. 6,7: Carga en memoria alta doskey y el mouse para no gastar memoria convencional. Que es el archivo config.sys ? Este otro archivo, pero no es de comando porque lo que contiene no son comandos Ms-Dos sino indicaciones sobre que dispositivos han de instalarse antes que se ejecuta autoexec.bat. Recuerde primero se ejecuta config.sys y luego autoexec.bat antes que Ud pueda introducir comandos Ms-Dos. Un archivo Config.sys t¡pico device=c:\dos\himem.sys device=c:\dos\emm386.exe noems highscan buffers=30 files=30 dos=umb lastdrive=h fcbs=1,0 dos=high shell=c:\dos\command.com c:\dos\ /p devicehigh /l:1,44496 =c:\dos\dblspace.sys /move install=c:\dos\smartdrv.exe devicehigh=c:\dos\ramdrive.sys 512 /e La mayor¡a de las l¡neas de este config.sys las escribi¢ el propio Ms-Dos cuando se ejecuto el programa Memmaker, pero no coloc¢ las 2 £ltimas l¡neas lo cual optimiza mejor el sistema. A continuaci¢n una explicaci¢n del contenido: Device=c:\dos\himem.sys Device indica que se carga un programa (y se carga en memoria baja) que va a controlar alg£n componente del sistema en este caso la memoria porque se carga el archivo "himem.sys" que se encuentra en "c:\dos" y sirve para tener acceso a la memoria extendida. Se debe usar device y no devicehigh debido a que devicehigh carga un dispositivo en memoria superior que todav¡a no est  disponible hasta que se instala "himem.sys" que es administrador de memoria superior. device=c:\dos\emm386.exe noems highscan "emm386.exe" es un controlador de dispositivo que permite simular la memoria extendida como expandida el par metro noems significa que no se va a poder utilizar "EMS". No lo coloque si posee programas que usan la memoria expandida y no pueden usar memoria extendida. buffers=30 Permite tener una memoria intermedia para mejorar el sistema files=30 Indica la m xima cantidad de archivos que se pueden mantener abiertos a un tiempo. dos=umb Indica que dos va a tener comunicaci¢n con la memoria superior. lastdrive=i Indica que existen letras de drives hasta la "I". fcbs=1,0 Fcbs es un m‚todo obsoleto para abrir archivos, as¡ se reduce al m¡nimo de 1. Si usa aplicaciones muy antiguas puede necesitar aumentar el primer n£mero. stacks=0,0 Reserva memoria para la pila cuando ocurren interrupciones Hardware. S¢lo debe colocar stacks=9,256 si su sistema se cuelga con windows 3.0. dos=high Mueve a Ms-Dos a la memoria alta, la cual no se usa comunmente, que permite ahorrar memoria convencional. shell=c:\dos\command.com c:\dos\ /p Identifica que el interprete de comandos es "command.com" y se encuentra en el directorio "c:\dos" el /p hace la copia permanente. devicehigh /l:1,44496 =c:\dos\dblspace.sys /move Instala el dispositivo dblsplace que hace que la partici¢n creada por dblspace pueda ser reconocida y accedida. install=c:\dos\smartdrv.exe 512 instala un disco de cach‚ para acelerar las operaciones de lectura y escritura al disco. Se reserva 512k para cach‚ tomadas de la memoria extendida. Ademas el comando "install" hace que se libere el espacio de entorno del programa minimizando la cantidad de memoria que ocupa el programa una vez cargado en memoria. devicehigh=c:\dos\ramdrive.sys 512 /e Instala el controlador para crear un drive l¢gico pero que en realidad es ram que simula ser un disco. el disco que se crea es de 512k y el /e indica que se coloca en la memoria expandida. Editando su archivo config.sys Antes de editar su config.sys deber  crear un disco "booteable" (capaz de encender la m quina) puesto que si comete errores puede que su sistema no arranque y entonces tendr  que buscar desesperadamente un "disco del sistema". Creando un disco del sistema. El comando que hace un disco "booteable" es sys. Para hacerlo introduzca un disco formateado en la unidad "a:" y escriba: c: sys a: Entonces si falla escribiendo el config.sys podr  encender la m quina colocando el disco que acabamos de crear y volver a prender la m quina. .