TEMA 8: MS-DOS 1º DAW – SIINF CURSO 2017-2018 8.1 MS-DOS ❑ MS-DOS (MicroSoft Disk Operating System) ❑ Basado en x86. ❑ Nace en 1981, Evolución de QDOS PC-DOS (Microsoft – IBM) ❑ NO es CASE-SENSITIVE 8.1 Comodines ❑ Carácter Asterisco (’*’), sustituye a TODOS los caracteres (delante, detrás o en el medio) ❑ Carácter Interrogante (‘?’), sustituye a un único CARÁCTER. EJEMPLO *ini: Cualquier nombre de archivo terminado en ini. win*: Cualquier nombre de archivo que comience por win. *ni*: Cualquier nombre de archivo con la cadena ni. twain_??: Cualquier nombre de archivo que empiece con twain, seguido de una barra baja y terminado en exactamente dos caracteres. ?def*: Cualquier nombre de archivo que comience en def anticipado por exactamente un carácter (por ejemplo, _default.pif). Variables de Entorno Variables predefinidas por el sistema. Se le llama mediante entre %VARIABLE% * %DATE%, indica la fecha actual del sistema. * %TIME%, indica la hora actual del sistema. * %RANDOM%, obtiene un número al azar [0, 32767] * %COMPUTERNAME%, nombre del equipo. * %USERNAME%, muestra el nombre del usuario. * %OS%, muestra el sistema operativo. * %HOMEDRIVE%, muestra la unidad raiz dónde está el usuario. * %HOMEPATH%, ruta completa del usuario. * %CD%, muestra la cadena del directorio actual. * %PATHEXT%, lista de extensiones de los archivos ejecutables. * %TEMP%, ruta al directorio donde almacenar archivos temporales. ACTIVIDAD_1: Mostrar los archivos y carpetas del directorio Windows que contengan la barra baja (_), seguido de 2 números y que tengan, a continuación, la extensión. 8.2 Operaciones Generales ❑ HELP, ayuda de los comandos. ❑ CLS, limpiar pantalla. ❑ VER, presenta la versión de MS-DOS. ❑ DATE, muestra la fecha y solicita que la cambie si fuera necesario. MS-DOS registra la fecha actual para cada archivo que cree o cambie. En el directorio, esta fecha aparece junto al nombre del archivo. DATE [dd-mm-aa] ❑ TIME, presenta la hora del sistema o ajusta el reloj interno del PC. MS-DOS utiliza información de la hora para actualizar el directorio cada vez que cree o cambie un archivo. TIME [horas:[minutos[:segundos[.centésimas]]][A|P]] 8.2 Operaciones Generales ❑ PATH: Indica en qué directorios MS-DOS realizará la búsqueda de archivos ejecutables. MS-DOS utiliza el comando PATH para buscar archivos ejecutables en los directorios que especifique. La ruta de búsqueda predeterminada es el directorio actual. PATH [[unidad:]ruta[;...]] ❑ ECHO, usos: * echo + texto, permite hacer que se muestre dicho texto en la ventana del programa. * echo. , permite hacer un salto de línea = enter. 8.2 Operaciones Generales ❑ PROMPT: Cambia la apariencia del símbolo del sistema de MS-DOS. Puede personalizar el símbolo del sistema de manera que presente cualquier texto deseado, incluyendo información tal como el nombre del directorio activo, la fecha y hora y el número de versión de MS-DOS. PROMPT [texto] $Q = (signo igual) $G > (signo mayor que) $$ (símbolo de moneda) $L < (signo menor que) $T Hora Actual $B (signo de canalización) $D Fecha Actual $_ ENTRAR_AVANCE DE LÍNEA $P Unidad de disco y rutas actuales $E Código de escape ASCII (cód. 27) $V Número de versión $H Retroceso (borra carácter escrito) $N Unidad Actual $A Signo & ACTIVIDAD_2: Mostrar los archivos y carpetas del directorio Windows que contengan la barra baja (_), seguido de 2 números y que tengan, a continuación, la extensión. ACTIVIDAD_2: PROMPT El verdadero poder se encuentra en OrioN ScripT.$_ Hoy es dia $D y son las $T $_Te lee una nueva orden $P 8.3 Gestión de Archivos. ❑ COPY CON, te permite crear archivos nuevos vacíos. copy con prueba.txt ❑ ECHO, crea un fichero con el contenido que se le especifica por la línea de comandos. echo “Hello World” >> prueba.txt * Case Sensitive, la comparación distingue entre minúsculas y mayúsculas. FC. * Uso del puerto CON * Redirectores: de salida (> y >>) de entrada (< y <<) 8.3 Gestión de Archivos. ❑ TYPE, para ver el contenido de los archivos de texto. Este comando es de sólo lectura, no modifica el contenido. type prueba.txt ❑ FC, compara 2 ficheros y verifica las líneas que son exactas y en la misma posición en cada archivo. fc prueba_1.txt prueba_2.txt * Case Sensitive, la comparación distingue entre minúsculas y mayúsculas. FC. * fc /A la salida con sólo la primera y última línea de los bloques que son diferentes. * fc /C anula case-sensitive. * fc /W no compara las tabulaciones, ni los espacios. ACTIVIDAD_3: COMP diferencias entre FC y COMP 8.3 Gestión de Archivos. ❑ COPY, permite copiar un fichero de un directorio a otro. Incluso permite el renombrar el fichero en el directorio destino, si se especifica. copy ruta_1/archivo_1 ruta_2/archivo_2 * /V comprobar si los nuevos archivos están correctamente escritos. * /Y si en el destino existe ya un archivo con el mismo nombre, el sistema te solicita confirmación. Con /Y lo sobrescribe directamente. * Concatenar ficheros: se hace mediante ‘+’ indicando el fichero destino. copy ruta_1/archivo_1+ruta_2/archivo_2 ruta/archivo * Si la carpeta tiene espacios, habría que poner la ruta completa con “”. 8.3 Gestión de Archivos. XCOPY, permite copiar un directorio completo con todos sus archivos y subdirectorios. * /P petición de confirmación antes de copiar cada archivo. * /S copia también los subdirectorios que tengan algún objeto. * /E copia también los directorios vacíos. * /D se copian los ficheros de fecha igual o mayor a la especificada con el formato mes-dia-año (XCOPY *.* prueba2 /D:01-18-2013). Copias incrementales. MOVE, mueve ficheros de un directorio a otro, haciendo que desaparezcan del directorio original. (MISMOS ARGUMENTOS QUE COPY) move ruta_1/archivo_1 ruta_2/archivo_2 8.3 Gestión de Archivos. REN, permite renombrar el archivo, tanto su nombre como la extensión. ren ruta_1/archivo_1 ruta_2/archivo_2 DEL, permite borrar el fichero que se especifica del disco. Si se indica un directorio se eliminaría todos los archivos contenidos en la carpeta, realizando lo mismo que si utilizáramos el comodín *.* (el sistema pide confirmación) del ruta_1/archivo_1 * /Q no pide confirmación de eliminación. * /P pide confirmación antes de eliminación (igual que hace por defecto con los directorios). * /A eliminación de los que tengan un atributo determinado, por ejemplo, todos los ficheros ocultos: del /A:H * 8.3 Gestión de Archivos. FIND / FINDSTR, buscar contenido dentro de los ficheros. findstr es más completo (más opciones). find se utiliza únicamente para encontrar una cadena en determinados archivos indicados, mientras que findstr puede buscar dentro de una estructura, así como indicar patrones elaborados. find/findstr “string” * 8.4 Gestión de Directorios DIR, lista el contenido de un directorio. Hay que situarse dentro del directorio que queremos dentro de la carpeta que queremos listar. Aparecerá un listado de archivos (seguidos por la extensión) y carpetas (indicadas por los caracteres <DIR>), que pueden contener archivos en su interior, además del tamaño expresado en bytes, fecha y hora de la última edición. dir * /P pausa la presentación de la información. * /W o /D presentación a lo ancho o por columnas. * /O lista en base a unas opciones que se le indica (dir /O:-S) * /T ordenar por la fecha (C creación; A último acceso; W modificación) (dir /O:D /T:C) * /A lista teniendo en cuenta varios atributos. Ej: listar los archivos ocultos (dir /A:DH) * /Q propietario de la carpeta. 8.4 Gestión de Directorios * /X presenta con el formato 8.3 * Permite listar la información de un archivo concreto, escribiendo el nombre del mismo (dir prueba.txt) TREE, te lista únicamente los directorios y subdirectorios de la estructura, teniendo como raíz la carpeta donde se encuentra o la que se indica. * /F para mostrar también los archivos de la carpeta. CD, para moverse por el árbol de directorios: * Uso de rutas relativas/absolutas. * Movimiento a la raíz directamente. cd c:\ o cd \ * Para retroceder al directorio anterior, cd .. 8.4 Gestión de Directorios MD, permite crear directorios en las ubicaciones dónde el usuario tenga acceso. Cuando se necesita crear una estructura de directorios, con carpetas y subcarpetas, en lugar de indicarlas todas de forma individual, se puede indicar la última subcarpeta y el sistema creará todos los directorios intermedios si fuera necesario. RD, permite eliminar directorios, por defecto sólo elimina el directorio si está vacío. ruta al directorio donde almacenar archivos temporales rd directorio1 * /S, elimina toda la estructura esté o no vacío. El sistema te solicita confirmación previa. * /Q, elimina de forma directa sin preguntar confirmación de borrado. 8.5 Operaciones Avanzadas ATTRIB, comando que te permite visualizar/modificar los atributos de los archivos y directorios. * +/- permite añadir o eliminar atributos * /S /D muestra los atributos de archivos y subdirectorios. attrib default /S /D 8.5 Operaciones Avanzadas CACLS, mostrar o modificar el archivo o directorio access control lists (ACLs). calcs archivo.txt - ICALCS, sí permite e tratamiento de los permisos especiales. - Sólo soporte para NTFS. - No puede utilizarse para crear permisos "especiales", estando limitado a los permisos sin acceso (N), lectura (R), escritura (W), modificar (C) y Control total (F). - Permite cambiar los permisos a nivel de grupo (“nombre de grupo”) - Cuando ejecutamos el comando para ver los permisos de los directorios nos dará información sobre la herencia de los mismos. * OI (los objetos creados en el directorio heredarán el permiso). * CI (los subdirectorios creados heredarán el permiso) * IO (el permiso no afectará al directorio y por tanto sólo lo heredarán los subdirectorios y archivos) 8.5 Operaciones Avanzadas * /E permite modificar permisos sin ‘machacar’ el resto, manteniendo sus valores. * /G se eliminaran todos los permisos, excepto el que se acabe de modificar. * /T realiza la operación para todos los subdirectorios. GESTIÓN DE PERMISOS * /grant asigna permiso al usuario/grupo de usuarios. /grant:r los permisos reemplazan cualquier permiso anterior. /grant el permiso se agrega al anterior. icacls file /grant:r Usuario_1:(D,X) * /remove revocación de un permiso a un usuario/grupo. 8.5 Operaciones Avanzadas * /deny denegación de acceso a un usuario/grupo. Revocación de todos los permisos. * /inheritance se habilita o deshabilita la herencia. * /reset resetea todos los permisos a por defecto. * /setowner modifica el propietario de la carpeta. Ej: icacls prueba /T /grant administrador:(OI)(CI)(F) concede control total al administrador para toda la herencia a partir de prueba icacls prueba /grant usuario17:(OI)(CI)(DC,M) usuario17 tenga todos los permisos salvo Cambiar permisos y Tomar posesión 8.5 Operaciones Avanzadas- PERMISOS N – sin acceso S – sincronizar F – acceso total AS – acceso al sistema de seguridad M – acceso de modificación MA – máximo permitido RX – acceso de lectura y ejecución GR – lectura genérica R – acceso de sólo lectura GW – escritura genérica W – acceso de sólo escritura GE – ejecución genérica D – acceso de eliminación GA – todo genérico DE – eliminar RD – leer datos/lista de directorio RC – control de lectura WD – escribir datos/agregar archivo WDAC – escribir DAC AD – anexar datos/agregar subdirectorio WO – escribir propietario REA – leer atributos extendidos WEA – escribir atributos extendidos X – ejecutar/atravesar DC – eliminar secundario RA – leer atributos WA – escribir atributos 8.5 Operaciones Avanzadas. REPETIR COMANDO (for) Para repetir una operación y realizar operaciones más complejas, como por ejemplo, copiar todos los archivos de una determinada extensión existentes en una estructura de carpetas. FOR %variable IN (lista) DO comando * /R realiza recorridos recursivos, por el árbol de directorio. Ejemplo: for /R %var IN (*.exe *.txt) DO copy %var \CIENCIA copia todos los archivos exe y txt existentes en una estructura de directorios y copiarlos en una carpeta CIENCIA 8.5 Comandos Especiales CHKDSK, checkdisk, comprobar el estado de un disco. CONVERT, paso del sistema de archivos de FAT a NTFS. DRIVERQUERY, comprobar los drivers del sistema. FORMAT, borrado y formateado del disco. RECOVER, recuperar información legible de un disco dañado. 8.5 Comandos Especiales. Redes. Comandos específicos de redes, que no aparecen en HELP. Más típicos: IPCONFIG o IPCONFIG /ALL. PING 8.5 Comandos Especiales. Redes. TRACERT NET USE, conexión a unidad de red y uso de esta como una unidad de disco del sistema. Z: \\WSV-DAW-001\D$ NET USE Z: /DELETE. 8.5 ARCHIVOS BATCH. REM, para insertar comentarios en el fichero BATCH y que el intérprete no lo entienda como una línea de comandos. Inicio (@echo off) final (exit). TITLE, típicamente la primera línea es el título del ejecutable, como medida de descripción e identificación. VARIABLES Definir Variables: set var=valor Uso del valor de la variable (%var%) Pedir valor por teclado set /p var=pregunta Operaciones aritméticas simples set /a var1=%var2% * %var3% ❑ Mostrar todas las variables que empiecen por un carácter set p 8.5 ARCHIVOS BATCH. BUCLES Menús, son partes del programa o también los podemos entender como funciones de nuestra aplicación. Ej: :frases echo 100101001 Creado por Juanma 100101001 echo 100101001 Creado por Juanma 100101001 goto frases IF / ELSE, únicamente se puede escribir tras la condición un comando, por ello, en el caso de necesitar varios, se necesita la utilización de menús. IF %var%==valor (comando) ELSE (comando2) Comparadores: ==, LSS (<), GRT (>), LEQ (<=), GEQ (>=) 8.5 ARCHIVOS BATCH. EJEMPLO. set /p uno=Escriba el numerador :denominador set /p dos=Escriba el denominador if %dos%==0 (goto denominador) else (goto dividir) :dividir set /a tres=%uno%/%dos% echo El resultado de %uno%/%dos% es %tres%