Con el sistema Windows 10 que tenemos actualmente, con dos particiones nuevas en el disco duro que acabamos de añadir, vamos a movernos por los sistemas de ficheros de estas particiones y realizar algunas operaciones utilizando la consola de comandos, terminal o símbolo del sistema.
El objetivo de este caso práctico es trabajar un poco con rutas de ficheros y directorios y entender, hasta cierto punto, cómo se almacena información de ficheros en los directorios.
Lanzamos una terminal.


El prompt nos indica la ruta del directorio actual o directorio de trabajo.
Vqamos a mostrar el contenido del directorio actual, para ello usamos el comando DIR.

Si nos fijamos, hay dos entradas en el directorio que nos llaman la atención: el . y el ..
Como ya sabemos un directorio es un fichero especial que contiene información sobre los ficheros y directorio que almacena o contiene. Todo directorio debe contener un enlace o referencia a si mismo, que se representa con el caracter ., y una referencia a su directorio padre, que se representa con ..
Vamos a crear un nuevo directorio. Para ello utilizaremos el comando MKDIR. El comando mkdir permite crear directorios, para ello se debe proporcionar la ruta del directorio o directorios a crear.
Como no sabemos exactamente como funciona podríamos consultar la ayuda de dicho comando.

Vamos a crear un directorio cuyo nombre sea sistemas y que va a estar dentro del directorio actual. Así que podemos usar una ruta relativa – una ruta relativa es una ruta que empieza en el directorio actual.

Cuando ejecutamos un comando y «no nos dice nada» significa que el comando se ha ejecutado correctamente. Si embargo, vamos a comprobar que realmente se ha creado el directorio. Para ello podemos ejecutar el comando DIR.

Sin embargo, tenemos que buscar la información del directorio sistema entre el resto de directorios y ficheros que están en el directorio actual. Vamos a mostrar solo la información del directorio sistemas utilizando el comando.

De nuevo nos encontramos con las entradas . y .. Estas entradas se crean cuando se crea el directorio para almacenar la referencia al propio directorio y a su directorio padre.

Si ahora ejecutamos dir .. estaremos mostrando el directorio padre del directorio actual.

Si ejecutamos dir ..\.. ¿qué estaremos mostrando?. El directorio padre del directorio padre del directorio actual.

Con la ruta relativa utilizada estamos haciendo referencia al directorio ra´íz de la unidad C: –> C:\. Vamos a intentar mostrar el directorio padre del directorio ráiz, aunque sabemos que el directorio raíz no tiene directorio padre – es él mismo.

Se muestra a si mismo, no tiene padre, pero la entrada .. tendrá que apuntar a algún directorio: se apunta a sí mismo.
Estas rutas que utilizan .. pueden saber quién es el directorio padre de cualquier directorio gracias a la entrada .. que se guarda en un directorio cuando se crea.
Vamos a ejecutar el siguiente comando CD sistemas.

Hemos cambiado el directorio actual o de trabajo. Si nos fijamos en el prompt del sistema. Hemos utilizado una ruta relativa, sistemas, para cambiar al directorio sistemas, que está dentro del directorio alumno, que está dentro del directorio Users que está dentro del directorio raíz de la unidad C:.
Toda esa información es la ruta absoluta del directorio:
- Ruta relativa: sistemas, directorio actual: C:\Users\alumno.
- Ruta absoluta: C:\Users\alumno\sistemas
La ruta absoluta no cambia nunca sin importar cual es el directorio actual. La ruta relativa cambia cada vez que cambiemos de directorio actual.

Estamos mostrando el directorio C:\Users\alumno que es el directorio padre del directorio C:\Users\alumno\sistemas. El sistema operativo ha conseguido la información del directorio padre gracias a la entrada .. que está almacenada en el directorio sistemas.
Vamos a cambiar de directorio al directorio raíz de la unidad C: ¿Cómo lo haríamos?. Primero tenemos que determinar el comando a utilizar. El comando CD. Ahora tenemos que pensar que parámetros – información extra que proporcionamos al comando – deberíamos utilizar para que cambie de directorio actual al directorio raíz de la unidad C:.
Tenemos que pasarle una ruta, la dura es… ¿qué tipo de ruta, relativa o absoluta?. La que mejor nos convenga.

Esta ruta relativa es más larga que la ruta absoluta:

Ahora nos vamos a cambiar de unidad lógica. Sabemos que una unidad lógica es la representación que hace Windows de un sistema de ficheros. Para cambiar a una unidad lógica tan solo tenemos que escribir el nombre de la unidad seguido de dos puntos.

Cada unidad lógica tiene su propio directorio raíz.

Creando una estructura de árbol
Vamos a crear la siguiente estructura de árbol de directorios dentro del directorio raíz de la unidad E: utilizando comandos de Windows.

Lo vamos a hacer sin cambiar de directorio actual ni de unidad actual, por lo que tendremos que utilizar rutas absolutas desde la unidad F:. Si tu unidad actual no es la unidad F: dará igual, puesto que vamos a utilizar rutas absolutas que incluyen la unidad de destino, en este caso E:


Podríamos haber aprovechado que mkdir es capaz de crear los directorios intermedios en una ruta si no existe. Es decir, si hubieramos ejecutado el comando mkdir E:\sistemas\windows\w10, el comando mkdir habría creado primero el directorio sistemas, después windows dentro de sistemas y después w10 dentro de windows.
¿Cómo podemos comprobar que todo ha funcionado como se esperaba?. Podemos utilizar el comando tree que nos mostrará una vista de árbol del directorio cuya ruta proporcionemos.
Para saber como funciona el comando tree, podemos consultar la ayuda de dicho comando.

Si no se pasa ningún parámetro al comando tree, no se le da ninguna información extra al ejecutarlo, mostrará el árbol de directorios del directorio actual.

Si le pasamos como parámetro al comando tree la ruta de un directorio, en este caso E:\sistemas, nos mostrará el árbol de directorios que contiene dicho directorio.

La salida del comando tree es distinta a la del comando dir.

Dir nos muestra el contenido del directorio, por defecto no muestra subdirectorios.

Dir solo muestra el contenido del directorio, pero no muestra el contenido de los subdirectorios que est´án dentro de él. Aunque, si se puede conseguir que DIR muestre también el contenido de sus subdirectorios.
Para ello, vamos a consultar la ayuda del comando dir: help dir.


La opción es /S. Si ejecutamos el comando dir /s E:\Sistemas veremos qué pasa.

Ejercicio 02 – Creando directorios
Ya hemos creado una serie de directorios en la undiad E: utilizando rutas absolutas – una ruta absoluta es una ruta que empieza por el directorio ra´íz de la unidad en la que está el fichero o directorio al que hacemos referencia.
Ahora vamos a crear directorios utilizando rutas relativas. Cerramos la terminal, si es que todavía la tenemos abierta, y abrimos una nueva.
¿En qué directorio estamos?

Gracias al prompt podemos saber en qué directorio nos encontramos. Sin embargo, también podemos utilizar otro comando para mostrar en pantalla la ruta del directorio actual: el comando CD sin parámetros.

Ahora mismo nos encotramos en nuestro directorio personal o perfil de usuario. Cada usuario en un sistema operativo multiusuario tiene asignado un directorio propio, su directorio personal o perfil de usuario en Windows. En ese directorio el usuario podrá hacer casi lo que quiera, es su directorio.
Vamos a crear una serie de directorios utilizando rutas relativas. Los directorios que vamos a crear son: scripts, docs y music dentro del directorio C:\Users\alumno.
¿Cómo los crearíamos?. Lo primero que tenemos que saber es el comando a utilizar para crear directorios. El comando es MKDIR. Si no recordamos como se utiliza, su sintaxis, podemos consultarla con el comando help pasándole como parámetro el nombre del comando a consultar: mkdir.

Tenemos que proporcionar la ruta de los directorios que queremos crear al comando mkdir. En este caso, nos han dicho que utilicemos rutas relativas. Una ruta relativa es una ruta que comienza en el directorio actual. El directorio actual es C:\Users\Alumno que es precisamente el directorio en el que tenemos que crear los tres directorios: scripts, docs y music.
La ruta relativa será: scripts docs music. Para determinar la ruta absoluta a partir de una ruta relativa, necesitamos partir de la ruta del directorio actual – C:\Users\alumno – y añadir la ruta relativa.
- C:\Users\alumno + scripts: C:\Users\alumno\scripts
- C:\Users\alumno + docs: C:\Users\alumno\docs
- C:\Users\alumno + music: C:\Users\alumno\music

Podemos comprobar que se han creado con el comando dir.

Sin embargo dir muestra el contenido completo del directorio actual y tengo que buscar cada directorio en el listado completo.

Aunque hemos utilizado una ruta absoluta para determinar qué directorios queremos mostrar en pantalla con el comando DIR, el propio comando nos muestra la ruta absoluta de dichos directorios.
Ahora, vamos a crear dentro del directorio scripts los siguientes directorios: sys, dev y monitor. Utilizaremos en este caso rutas absolutas.
Si pudieramos usar rutas relativas…

Pero nos han dicho que utilicemos rutas absolutas.

El comando se ha ejecutado sin dar ningún mensaje de error, por tanto habrá hecho lo que le hemos indicado sin problemas, aunque no sabemos si ha hecho lo que nosotros queríamos indicar.
Vamos a mostrar el árbol de directorios del directorio C:\Users\alumno\scripts, pero esta vez utilizando rutas relativas. El comando para mostrar el árbol de directorios de un directorio es tree.

Para continuar practicando, vamos a cambiar el directorio actual al directorio scripts. Tenemos que usar el comando cd y pasarle como parámetro la ruta del directorio al que queremos cambiar.

Podemos observar como ha cambiado la ruta del directorio actual en el prompt del sistema. La nueva ruta es la misma que la anterior, añadiendo scripts, que es la ruta relativa que hemos usado.
Ahora, utilizando de nuevo rutas relativas, vamos a crear dentro del directorio C:\Users\alumno\docs los directorios: ssoo, redes y html.
Nos encontramos con que la ruta del directorio donde queremos crear los directorios no está dentro del directorio actual, está en un nivel inferior ¿cómo podemos hacer referencia a un directorio que no está dentro del directorio actual?. Vamos a utilizar la referencia al directorio padre: ..
De esta forma, al usar .. estamos apuntando al directorio padre del actual, es decir C:\Users\alumno. Ahora que este directorio si contiene al directorio con el que queremos trabajar, tan solo tendremos que añadir la parte de la ruta que falta.
Es decir, utilizamos referencias a directorios padre – ..\.. etc – hasta que lleguemos a un directorio que contenga en su árbol al fichero o directorio que queremos apuntar.


Vamos a complicarlo solo un poco más. Cambiamos de directorio al directorio ..\docs\html utilizando ruta absoluta.
Primero determinamos el comando: CD. Si el directorio actual es C:\Users\alumno\scripts y nos piden que nos cambiemos a ..\docs\html utilizando una ruta absoluta, tendremos que hacer referencia al padre del directorio actual – C:\Users\alumno – y añadir docs\html a dicha ruta: C:\Users\alumno\docs\html.

Vamos a crear tres directorios dentro del directorio C:\Users\alumno\music vamos a crear los siguientes directorios: blues, rock y soul; utilizando rutas relativas.
El directorio actual es C:\Users\alumno\docs\html y me piden que cree los directorios dentro de C:\Users\alumno\music. Este directorio no está dentro del árbol de directorios del directorio actual, que es dónde nos encontramos. Tenemos que «ir hacia atrás» hasta el directorio que lo contenga.
Si nos fijamos la parte común de ambas rutas, directorio actual y directorio destino, es C:\Users\alumno que es precisamente el directorio que contiene al directorio que queremos hacer referencia.
La ruta relativa sería ..\..\music y dentro de este directorio tendríamos que apuntar a blues, rock y soul.

Vamos a comprobarlo.

Ahora queremos mostrar el contenido de cada uno de los tres directorios music, docs y scripts con un solo comando dir utilizando rutas relativas.

Muestra el contenido del directorio C:\Users\alumno\docs con el comando DIR utilizando primero ruta relativa y luego absoluta.

Cambia de directorio al directorio padre del actual.

Al cambiar el directorio actual o de trabajo la ruta relativa cambia, puesto que ha cambiado el punto de partida. Sin embargo la ruta absoluta nunca cambiará porque siempre comienza en el directorio ra´íz.
Cambiamos de nuevo al directorio padre del actual.

Cambia de directorio al directorio C:\Users\alumno\scripts\monitor, utiliza ruta relativa.

Muestra el contenido del directorio C:\Users utilizando rutas relativas.

Muestra el contenido del directorio C:\Users\alumno\music\rock utilizando rutas relativas.

Muestra el contenido del directorio C:\Windows utilizando rutas relativas.

Muestra el contenido del directorio ..\..\Desktop utilizando rutas absolutas.

Vamos a borrar el directorio C:\Users\alumno\music\soul utilizando ruta relativa. Lo primero que debemos saber es qué comando utilizar: RD. Cómo no sabemos utilizar este comando, consultamos la ayuda.


Ahora vamos a borrar el directorio ..\..\docs y todo su contenido utilizando ruta absoluta.

El directorio no está vacío, así que hemos de indicar al comando RD que queremos borrar el directorio y todo su contenido, es decir el árbol de directorios completo.
Vamos a consultarlo en la ayuda del comando RD.

La opción que tenemos que usar es /S pero, si además, no queremos que nos pidea confirmación, podemos usar /S y /Q.

Si no usamos /Q nos pide confirmación antes de borrar el directorio. Esto nos puede salvar de un error humano. Sin embargo, puede ser un poco tedioso.
Si tenemos claro que estamos haciendo podemos añadir la opción /Q para que no pregunte.

Borra el contenido de la unidad E:, no queremos que quede nada.

Hay cosas en E:, un fichero saludo.txt y un directorio llamado sistemas. Vamos a borrar el directorio raíz de la unidad E:. En realidad el propio directorio raíz no se puede borrar, pero si todo su contenido.

Lo que no se ha podido borrar son ficheros de sistema.
Ejercicio 3 – Gestionando ficheros
Sabemos que un fichero es un contenedor de información. Por tanto para crear un fichero necesitamos añadirle información a dicho fichero utilizando alguna aplicación.

Al ejecutar este comando el interprete de comandos busca el programa notepad. Como está en el PATH – que es una variable de entorno que contiene rutas de directorios donde buscar programas o comandos – es capaz de ejecutarlo.
Como le hemos añadido por parámetro la ruta de un fichero, el programa notepad.exe buscará ese fichero en la ruta indicada.

Si pulsamo Si, se abre el programa con ese fichero.

Vamos a guardar el fichero con la opción de menú archivo | guardar

Vamos a comprobar si el fichero se ha guardado o no.

Como podemos ver el fichero holaMundo.bat se ha creado correctamente. Podemos cerrar la aplicación notepad si queremos.
Vamos a mostrar en pantalla el contenido del fichero ..\holaMundo.bat, para ello utilzamos el comando TYPE. Como no sabemos como funciona TYPE consultamos la ayuda: help type.


Ahora vamos a aprender a copiar ficheros. Para copiar un fichero utilizaremos el comando COPY. Como no sabemos utilizarlo consultamos la ayuda.

El parámetro origen es obligatorio, puesto que si vamos a copiar uno o varios ficheros en otra ubicación siempre necesitamos determinar el fichero o ficheros origen. En destino se puede determinar el directorio destino y un nuevo nombre para el fichero.
Vamos a practicar con este comando. Copia el fichero ..\holaMundo.bat al directorio C:\Users\alumno, utiliza rutas relativas. Primero determinamos el comando a usar: Copy. Ahora tenemos que pasarle el origen y después el destino.

Podemos comprobar que se ha copiado con el comando DIR.

También podemos mostrar en pantalla su contenido.

Copia el fichero C:\Users\alumno\scripts\holaMundo.bat al directorio C:\Users\alumno\music con el nombre helloWorld.bat. Utiliza rutas relativas.
Tenemos que usar el comando copy y pasarle el origen y después el destino. En este caso nos piden que el fichero tenga un nuevo nombre en el directorio destino. Si pudieramos usar rutas absolutas usaríamos: copy C:\Users\alumno\scripts\holaMundo.bat C:\Users\alumno\music\helloWorld.bat pero nos piden que usemos rutas relativas.

Nos gustaría cambiar el nombre del fichero helloWorld.bat que está en el directorio C:\Users\alumno\Music con el nuevo nombre hello.bat. Para ello utilizaremos el comando rename. Consultamos la ayuda del comando rename.

Si nos fijamos archivo1 y archivo2 son parámetros obligatorios. En el caso de archivo1 hay que especificar la ruta del fichero y archivo2 es el nuevo nombre.


Vamos a mover un fichero. Para mover ficheros utilizamos el comando move. Como no sabemos como funciona, consultamos la ayuda.

Vamos a mover el fichero hello.bat que está en C:\Users\alumno\music al directorio monitor que está en C:\Users\alumno\scripts con el nuevo nombre hola.bat utilizando rutas relativas.

Queremos renombrar el fichero hola.bat holaMundo.bat utilizando el comando move.

Hemos movido el fichero hola.bat al mismo directorio en el que estaba pero cambiando el nombre a holaMundo.bat, es decir al final es como si lo hubiéramos renombrado.
Vamos a borrar el fichero holaMundo.bat que está en el directorio C:\Users\alumno\scripts utilizando el comando del. Consultamos la ayuda de del.


Vamos a ejecutar el programa holaMundo.bat. Los ficheros con extensión BAT son ficheros de procesos por lotes o scripts de Windows. Se trata de ficheros en texto plano que contienen una serie de comandos ordenados que se ejecutarán por el interprete de comandos en orden.
Para ejecutar un proceso por lotes o script de windows tan solo tenemos que escribir la ruta del fichero en el interprete de comandos.

Vamos a mostrar nuestro nombre por pantalla. Para eso usamos el comando echo. Consultamos la ayuda.

Vamos a escribir echo seguido de nuestro nombre.

Antonio
que fino el javi