miércoles, 29 de julio de 2009

Redireccionamientos

Al leer el título no dan ganas de leer, pero aquí va una receta (más bien un manual) para resolver las dudas sobre los redireccionamientos.
Esta palabra que suena tan mal se refiere a cabiar la entrada y la salida de la Consola (desde donde se introducen los datos hacia donde van). La entrada predeterminada es el teclado, y la salida por defecto es el monitor. Con cuatro operadores podemos cambiar desde donde se introducen los datos, y hasta donde van a parar.

El primer operador < indica de donde provienen los datos: sort
El segundo operador > indica hacia donde van los datos (la salida del comando).
ver>version.txt hace que se meta en un archivo de texto la versión del Sistema Operativo
ver>prn hace que se imprima la versión del Sistema Operativo
sortorden.txt hace que sort obtenga los datos de lista.txt y la salida se meta en orden.txt (por lo que quedarán dos archivos)
find /i "windows" sort.txt>windows.txt hace que FIND busque las líneas que contienen windows y las mete en el archivo windows.txt

El tercer operador >> es muy parecido al primero, solo que dirige la salida a archivos existentes.
ver>>info.txt introduce la versión de SO en info.txt (si no existe el archivo, se crea)
vol>>info.txt AÑADE a info.txt el volumen del disco. Tendremos dos lineas. Con > sobreescribimos los datos, pero con >> añadimos más datos sin borrar los existentes.

El cuarto y último operador, | utiliza la salida de la primera orden como entrada de la segunda:

orden1|orden2
dir|find "bytes libres"

(Este caracter llamado tubería se obtiene pulsando Alt Gr+1).
La información que otorga DIR pasa a ser la entrada del comando FIND, que busca en el comando DIR la cadena de texto "bytes libres", por lo que muestra los bytes libres del
directorio.

Si tenéis alguna duda, ya sabéis. :)

jueves, 23 de julio de 2009

Truco para evitar los virus en los pen-drives

Pensandolo mucho :P he ensado en un truco para evitar que se nos metan viruses en los USB, o al menos que no se ejecuten.

Lo primero es utilizar GNU/Linux, por supuesto! Pero si utilizamos Windows, lo mejor es tener un buen antivirus actualizado que detecte al instante las amenazas.

Windows por defecto forma un archivo .inf (Información sobre la instalación) que le permite al virus (la aplicación) ejecutarse. Cada virus coge el nombre de la carpeta en la que se encuentra. Pues bien, si creamos una carpeta llamada autorun.inf, las extensiones impedirán al virus introducirse y adoptar el formato .exe (ejecutable). El virus se grabará en el USB, pero no se ejecutará y lo podremos eliminar fácilmente.

Hay que vacunar a los USB!!!

martes, 21 de julio de 2009

Ejecutar en orden achivos por lotes

Esta es una receta para solucionar aquel problema que hay cuando tenemos varios .bat y solo hay que ejecutar uno para que arranquen los demás. Pero el usuario abre el que no es.
Ahora vamos a impedir que el usuario haga eso.

Hay un .bat que es el inicial y otros que son los secundarios. Desde el inicial se inician l0s demás, por eso usamos CALL.

@echo off
call 1.bat

Aunque, podemos renstringir el acceso a los secundarios, a menos que se inicien con el .bat inicial.
Eso se hace introduciendo atributos al .bat. Si mal no recuerdo, %0 era el nombre del archivo que se estaba ejecuando y de ahí para alante (%1, %2, %3...) eran los atributos añadidos. %* servía para todos los atributos.
Si añadimos el atributo al .bat secundario desde el inicial, y comprobamos que esto es verdad, como al iniciar el secundario directamente no hemos añadido el atributo, dará error.

Este es el bat inicial:

@echo off
call 1.bat a [a es el atributo añadido al otro .bat]

Y esto es lo que tenemos que poner en el secundario:

@echo off
if "%1"=="" (
color 0c
echo.
echo Este archivo solo se puede ejecutar con el .bat inicial.
echo Pulse cualquier tecla para salir.
pause>nul
exit
)

Así comprobamos si hay atributo, es decir, si se ha iniciado desde el .bat inicial.
Espero que lo entendáis. :)

domingo, 19 de julio de 2009

Molinux 5.0 Dorotea

La Consejería de Industria, Energía y Medio Ambiente de la Junta de Comunidades de Castilla-La Mancha y el Centro de Excelencia de Software Libre de Castilla La-Mancha... en fin, que se publica Molinux 5.0 Dorotea.

- Existen tres versiones: una versión estándar (en DVD, por su tamaño de 1,4 GB), una versión educativa también en DVD (por lo que será más difícil ponerla en los institutos :P) y una versión nómada para dispositivos USB (la gran novedad en este ultimo es la persistencia de datos).

Para descargar los diferentes tipos de Molinux 5.0 ve a este enlace:
http://www.molinux.info/index.php?option=com_remository&Itemid=0&func=select&id=56
Para ver cómo se crea una Molinux Nómada haz clic en esta receta:
http://comunidad.molinux.info/index.php/COMO_Crear_una_Molinux_Nómada

- Está basado en la nueva distro de Ubuntu (9.04), en la nueva versión del entorno GNOME (2.26) y el nuevo kernel 2.6.28. Por cierto, se ha reducido el tiempo de arranque.

- Se han inuido nuevos programas como Gnome Control Center (el Panel de Control), Gru (que recupera el sector de arranque si se ha desruido o está dañado), Tucan (gestor de descargas), WebContentControl (control parental) y OpenClipart (galería de imágenes prediseñadas incuida en OpeOffice).

- Reconoce más hardware y es capaz de montar más dispositivos (discos duros externos, cámaras, etc, etc).

A todo el mundo le encantan las CAPTURAS DE PANTALLA, así que aquí van:

- Login:

- Escritorio:

- Nautilus (explorador):

- Versión educativa:
(Nótese que aparece el programa Rosegarden, una versión libre del Finale).

Molinux 5.0 ha renovado los punteros pero sigue utilizando los mismos iconos que en su versión anterior (Toboso): hydroxygen.

Ya me gustaría a mí hacer una distro como éstas :)

miércoles, 15 de julio de 2009

Proteger carpetas

Si no queremos que nos miren el contenido de nuestras carpetas, aquí viene un tuco para protegerlas del todo, que nadie la puede abrir, editar, cambiar de nombre o borrar (ni tú). Queda totalmente bloqueada. Es decir, está, pero no está. Pero si sigues leyendo, puede que aprendas a deshacer el lío. Vamos a probar:

Abrimos el Símbolo del Sistema. Una ve abierto, nos vamos al explorador (fuera del Símbolo del Sistema) y nos buscamos un buen lugar para poner nuestra carpeta (en Mis Documentos, por ejemplo). Le ponemos de nombre 'Privado' y metemos algún archivo dentro (que no sea muy importante). Echa el último vistazo a la carpeta porque la vas a echar de menos.

Nos vamos de nuevo a Simbolo del Sistema (cmd.exe) y cambiamos el nombre de la carpeta desde ahí. El truco está en incluir un símbolo especial al nombre de la carpeta (que no hemos podido añadir antes). Son de tipo ASCII, y se ponen pulsando 'Alt' y sin soltarlo, teclear el código del símbolo. Aquí van algunos: 176, 177, 178, 179, 180, 185, 186, 187, 188, 191, 192, 193, 194, 195, 196, 200, 201, 202, 203, 204, 205, 206, 254.

Si se hace en el explorador, aparece un caracter válido, pero si lo hacemos desde cmd.exe aparece un símbolo ASCII, que es lo que estropea todo.

Vale, ahora cambiamos el nombre a la carpeta:

REN Privado Privado(alt+254)

Yo he usao el símbolo que sale al teclear eso. Ahora que lo hemos hecho, nos vamos a ver el contenido de nuestra carpeta si podemos :). Debería funcionar (funciona con Windows 98 hata XP). Para deshacer el entuerto le cambiamos otra vez el nombre, pero escribiendo esto:

REN Privado(alt+254) Privado

¿Qué tal?

lunes, 13 de julio de 2009

Creador de copias

Con lo aprendido en el post anterior, pdemos hacer un programa que copie tantas veces como queramos, el texto que queramos.
Es con este código:

@ECHO OFF
title COPYMAKER
:ini
cls
color 0f
set b=0
echo Texto a copiar:
set /p text=
echo.
echo Numero de copias:
set /p num=
color 0e
echo Copiando...
:copy
set /a b=%b%+1>>copias.txt
echo off>>copias.txt
echo %text%>>copias.txt
if %b% == %num% goto ok
if %b% LSS %num% goto copy
:ok
color 0a
echo Copias hechas (%num%).
pause>nul
goto ini

Se crea un .bat con esto y tendremos un programa muy útil. Hace copias de lo que sea y cuantas veces se quiera (300 veces son 2 segundos).
Aviso a los listos: lo he patentado ;)

Tecleamos la frase que hay que copiar y el número de copias.

Pulsamos Intro y el programa las hace en un momento...

Cuando están hechas, el programa habrá creado un archivo de texto con todas las copias.

Este es el resultado xD

Crear archivos con un .bat

Ahora vamos a aprender a crear archivos con contenido usando un .bat, como un archivo de texto.
Lo principal es introducir los datos que necesitemos en el archivo que vayamos a crear. Por ejemplo, una frase: Si lo lees, lo entiendes. Manos a la obra:

Emezamos por poner la frase como si fuera un .bat normal.

@echo off
echo Si lo lees, lo entiendes
pause

Ahora tenemos que meter la frase en un archivo de texto (que se va a llamar leeme).

@echo off
echo Si lo lees, lo entiendes>leeme.txt
pause

Al ejecutar el .bat se creará un archivo de texto con la frase dentro. ¿Y si queremos más lineas?

@echo off
echo Esta es la primera>>leeme.txt
echo Y esta la segunda>>leeme.txt
echo Esta es la tercera>>leeme.txt
echo Mira Barrio Sésamo que acabamos antes>>leeme.txt
pause

En el archivo de texto saldrá:

Esta es la primera
Y esta la segunda
Esta es la tercera
Mira Barrio Sésamo que acabamos antes

También podemos sacar la información que nos otorgue un comando:

@echo off
set>info.txt

Esto nos mete en un archivo de texto la información que da set. (Así podemos hacernos un informe del sistema en poco tiempo :P).

NOTA: pause>nul evita que se vea Presione una tecla para continuar... y así el .bat queda mejor.

jueves, 9 de julio de 2009

Una calculadora casera

Aquí va una receta para hacernos nosotros mismos nuestra propia calculadora casera (en DOS):

Abrimos el Bloc de notas. Entonces, ponemos esto:

@echo off
:math

Ahora tenemos que ordenar al sistema que establezca una variable, la operación a realizar. Para ello ponemos:

set /p op=

Luego, ordenamos al sistema que procese la variable, es decir, la operación a realizar, y que el resultado de ésta establezca una nueva variable. Todo esto se pone así:

set /a res=%op%

Por último ordenamos que muestre el esultado, con ECHO:

echo %res%

Como queremos volver a poner otra operación, debemos mandar al programa al principio, para que repita los pasos, por eso antes pusimos la etiqueta math ( :math ) y ahora vamos a volver a ella con GOTO:

goto math

...con lo cual nunca se acaba. Lo guardamos con el nombre calculadora.bat y ya tendremos esto:


Estas operaciones las hize yo para demostrar que funciona.
Pero no quiero engañar a nadie: esta calculadora es más bien obsoleta, el lenguaje DOS sólo procesa grupos, operadoes unarios, operadores aritméticos, desplazamientos lógicos (<< >>), y admite "bt a bit y" (&), "bit a bit exclusivo o" (^), "bit a bit" (|). Luego están los símbolos de asignación (= *= /= %= += -= &= ^= |= <<= >>=) y LA COMA DECIMAL NO SE ADMITE. Lo más parecido a ello es el separador de expresión (,) que epara distintas expresiones a procesar.

Por lo tanto, no es tan precisa. Solo trabaja con números exactos (de decimales nada). Admite números decimales y hexadecimales, binarios y notacion octal (esta última puede ser confusa, 8 y 08 no son lo mismo, porque 08 no se admite).

Pero bueno, siempre nos los aproxima en un rango de 64 bits xD: