VISITAS:

martes, 15 de abril de 2014

Ficheros de comandos de Windows

Los ficheros de comandos de Windows son una forma sencilla de automatizar algunas tareas.
Para crear un fichero de comandos, simplemente hay que ponerle la extensión .CMD
Veamos ahora algunas de las cosas que se pueden hacer en estos ficheros de comandos.

Comandos básicos

@echo off
Desactiva la salida de todos los comandos que se van ejecutando (incluido él mismo). Se suele poner como la primera línea de un fichero de comandos.

echo mensaje
Saca un mensaje en la consola.

msg * mensaje
Saca un mensaje en una ventana (popup), pero sin detener la ejecución.

pause
Detiene la ejecución de los comandos hasta que se pulse una tecla. Muestra el mensaje "Presione una tecla para continuar . . .". Si no se desea que salga el mensaje estándar, utilizar pause>nul (sin espacios).

exit
Termina la ejecución de los comandos.

rem
Línea de comentario

Comandos del sistema operativo

cd
Cambia a un directorio

copy
Copia un fichero a otro fichero o lugar

del
Borra un fichero

move
Cambia el nombre de un fichero o lo mueve a otro directorio

cls
Borra la pantalla

type
Muestra el contenido de un fichero

Creación de ficheros de texto

Es posible crear un fichero con contenido textual:
echo línea 1 > fichero.txt
echo línea 2 >> fichero.txt
echo línea 3 >> fichero.txt

Variables

set var=valor
Crea una variable y le asigna un valor

%var%
Accede al valor de la variable

set /P var=Introduzca valor:
Pide al usuario que introduzca el valor de la variable

set /A var=%var1% + %var2%
Realiza una operación matemática y el resultado lo mete en la variable

Redirección

|
Pasa la salida de un comando a la entrada de otro comando
Ejemplo:
     ipconfig | findstr /C:"LAN"

||
Ejecuta el segundo comando sólo si el primero falla
Ejemplo:
    copy fichero1 fichero2 || echo No existe el fichero

>
Escribe la salida de un comando en un fichero
Ejemplo:
    type fichero1 > fichero2

>>
Añade la salida de un comando a un fichero existente
Ejemplo:
    dir >> fichero2

<
Toma como entrada de un comando el contenido de un fichero

Condiciones

if [not] string1 == string2 comando
Ejecuta el comando si el string1 es igual al string2

if [not] exist fichero comando
Ejecuta el comando si existe el fichero

Saltos

goto etiqueta
.....
:etiqueta


jueves, 3 de abril de 2014

Ejecución de paquetes solaris

Cuando se instala un paquete Solaris con el comando pkgadd, lo que se hace es procesar el fichero prototype (man -s4 prototype).
Este fichero consta de líneas con uno de los siguientes formatos:


  • # comentario
  • ! comando
  • objeto

Las líneas de comentario se ignoran.
Las líneas de comando y de objeto se explican a continuación.

Líneas de comando

Se permiten los siguientes comandos:

!param=value

Permite definir variables que se pueden utilizar después.
Ejemplo:
        !USER=usuario2
        !GROUP=grupo4

!include

Para incluir otro fichero prototype

!default

Especifica el modo, usuario y grupo por defecto.
Ejemplo:
        !default 0755 $USER $GROUP

Líneas de objeto

En cada línea de objeto se especifica un fichero, directorio, etc.
El formato de las líneas de objeto es:

        type class location mode owner group

type

Especifica el tipo de objeto:
  • f : fichero
  • e : fichero para editar después de instalar
  • v : fichero volátil que puede cambiar después de la instalación. Se crea con tamaño cero (por ej, ficheros de log)
  • d : directorio
  • i : fichero de control (pkginfo, request, depend, postinstall, preremove, etc)

class

En pkginfo se definen una serie de clases. Por ejemplo:

    CLASSES="none parche"

En prototype se asigna una de estas clases a cada fichero. Estas clases indican el orden de instalación (en el ejemplo anterior, se instalarán primero los ficheros de la clase none y después los ficheros de la clase parche). En request se pueden decidir las clases a instalar.

location

Hay tres opciones para especificar un location:
  • path absoluto: el objeto se instala en dicho path absoluto
  • path relativo: el fichero es relocatable
  • path1=path2: el path2 indica un fichero cuyo contenido se copiará al path1 durante la instalación
Un path puede contener una variable:
  • $variable
  • si la variable comienza con minúscula, es una variable build time
  • si la variable comienza con mayúscula, es una variable install time (del request)

mode (opcional)

Son los permisos del objeto destino en octal

owner (opcional)

Es el usuario propietario del objeto

group (opcional)

Es el grupo propietario del objeto