Mostrando entradas con la etiqueta Trucos tontos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Trucos tontos. Mostrar todas las entradas

jueves, 4 de enero de 2018

Apagar el ordenador cuando termina una tarea.

Me encanta robocopy. Tiene sus más y sus menos, claro, pero el hecho de que a partir de XP se incluyera con windows un programa equivalente a Xcopy pero con la capacidad de seleccionar qué copiar, ejecutarse en segundo plano, e incluso hacer copias de seguridad programadas, fue un gran adelanto.

El problema es que, cuando te pones a hacer copias hay muchos tiempos muertos. Y a veces quieres dejar la última copia en ejecución pero deseas que se apague el ordenador al terminar (lo que es muy útil a altas horas de madrugada, cuando el cuerpo pide sueño). No sé por qué no se incluyó esa característica en robocopy (que, por lo demás, está pensado para ejecutarse sin supervisión), o quizá es que no la he encontrado.

Pero, de repente, al ejecutar el administrador de tareas se me ocurrió una idea. Si existiera en windows un administrador de tareas en modo consola, podría consultarlo repetidamente para saber si una tarea sigue en ejecución. Una pequeña búsqueda reveló que ese programa existe, y se llama tasklist. Así que es muy fácil hacer un programa como este para supervisar si robocopy ha terminado o no:

rem Guardar este programa como
rem apaga-al-terminar-robocopy.cmd
rem y ejecutarlo DESPUÉS de iniciar robocopy.
rem
:inicio
tasklist | find /i "robocopy" > estado_robocopy
for %%a in (estado_robocopy) do (
if %%~za.==0. goto :apaga
)
for /L %%f in (1;1;10000) do rem %%f
goto :inicio
:apaga
shutdown -s -t 200
:fin

El programa anterior hace lo siguiente:

  1. Busca la palabra "robocopy" en la lista de tareas, enviando el resultado al archivo "estado_robocopy". Se usa find /i para indicar que no ha de distinguirse entre mayúsculas y minúsculas (el nombre del proceso usa una mezcla de ambas).
  2. A continuación, comprueba el tamaño del archivo. Para obtener el tamaño de archivo, busco un archivo cuyo nombre sea estado_robocopy y devuelvo sus datos en la variable %a (aquí se usa %%a porque se ejecuta desde un script). Se compara %%~za (tamaño del archivo referenciado por %%a) con cero. Si el tamaño es cero, se salta a la etiqueta :apaga, que nos saca del bucle. Se usan los paréntesis para dividir la instrucción en dos líneas.
  3. La segunda instrucción for hace que esperemos un rato antes de volver a comprobar el tamaño de archivo. Básicamente, le decimos al ordenador que cuente hasta diez mil. Esto es importante, porque, como sucedía en Ms-DOS, en algunas versiones de Windows los archivos de intérprete de comandos hacen un uso intensivo del disco, y ese for nos libera tiempo para que robocopy pueda trabajar mientras tanto.
  4. Después del tiempo de espera, salto a la etiqueta :inicio, con lo que todo el proceso vuelve a comenzar de nuevo.
  5. A la etiqueta :apaga se llega solo en caso de que el archivo estado_robocopy tenga un tamaño cero, es decir, cuando robocopy ya no esté en la lista de tareas. Y va seguido de una instrucción shutdown -s -t 200, que apagará el equipo dejando un tiempo de gracia de 200 segundos (unos 3 minutos) por si deseamos cancelar el apagado (para ello, deberíamos abrir un intérprete de comandos y ejecutar shutdown -a)

El programa se puede adaptar para que funcione con cualquier tarea cuyo proceso desaparezca al finalizar (normalmente esto solo ocurre con tareas de consola o tareas diseñadas para poder programarse). Para ello, sustituid "robocopy" por el nombre con que la tarea en cuestión aparece en la lista de procesos del sistema (podéis consultarlo con tasklist.exe o con el administrador de tareas, llamado "taskman" o "taskmgr" según la versión de Windows). Aseguráos también de que en vuestro ordenador exista el comando "tasklist".

Y ahora ya podéis dejar la SD de vuestro móvil copiándose en un blu-ray de 50 gigas mientras os vais a dormir...



Podéis leer mis scripts para la línea de comandos en doc.apagada.com

sábado, 21 de enero de 2017

Cómo: Pasar aplicaciones del segundo monitor al primero en Windows.

Edición 26/2/2017 - Lee esto primero

Juraría que había probado esto pero no me había funcionado...:

Con Tecla Windows + Flecha lateral se puede mover la ventana a la izquierda, centro o derecha de la ventana, sin importar que previamente estuviera maximizada.

En caso de que haya varias pantallas, se irá moviendo de pantalla en pantalla.

Así que la solución de abajo se puede cambiar por:

Pulsa Windows + hasta que la ventana deseada aparezca en tu pantalla.


POST ORIGINAL:

A pesar de que Windows 10 soporta múltiples escritorios virtuales, aparentemente no se puede enviar un escritorio a cada pantalla: solo se puede "extender" la pantalla para que ciertas aplicaciones (pongamos por caso chrome viendo Netflix o HBO en la tele) salgan por la pantalla secundaria.

Así que la posibilidad de alternar de un escritorio a otro se queda muy reducida con respecto a lo que ocurre en Linux, donde muchos gestores de ventanas muestran en una ventanita pequeña a qué monitor o escritorio se ha ido cada aplicación, para que la pasemos al monitor que tenemos encendido en ese momento.

Una alternativa a esto, que conocemos quienes empezamos a usar Windows en los 90 antes de tener un ratón, es manejar las ventanas «a ciegas» con el teclado.

Pongamos por caso que yo tengo mi escritorio extendido a dos pantallas, y que la última vez que encendí mi ordenador llevé Chrome a una pantalla secundaria (por ejemplo una televisión) para ver una película, pero ahora quiero encender solo la pantalla pequeña. Al abrir Chrome, la aplicación sale en la pantalla grande, que está apagada. ¿Cómo pasar Chrome a la otra pantalla?

La solución viene con el uso del teclado. El ratón es un dispositivo muy interesante, pero solo podemos usarlo correctamente si miramos la pantalla. En cambio, el teclado puede usarse sin pantalla (¿quien no ha tocado música en un ZX-Spectrum con la tele apagada? ¿quién no ha usado Ms-DOS conectado a una impresora matricial que hacía de pantalla?).

  1. Seleccionamos la aplicación cuya ventana queremos mover (ALT-TAB o pulsando en el icono de la barra de tareas)
  2. Pulsamos ALT-ESPACIO. (ALT-ESPACIO significa "abre el menú estándar Windows de la ventana").
  3. Pulsamos "R". En la traducción de Windows vendida en España, "R" corresponde a restaurar. Si estamos en otro país quizá tengamos que comprobar con una ventana que se abra en la pantalla normal qué letra corresponde a "restaurar" en nuestra traducción de Windows.
  4. Con la anterior acción, hemos restaurado la ventana (en caso de que estuviera maximizada, esto es imprescindible para poder moverla).
  5. Ahora, pulsamos de nuevo ALT-ESPACIO para volver a llamar al menú de la ventana.
  6. Pulsamos "M". En la traducción de Windows vendida en España, "R" corresponde a restaurar. Si estamos en otro país quizá tengamos que comprobar con una ventana que se abra en la pantalla normal qué letra corresponde a "restaurar" en nuestra traducción de Windows.
  7. Finalmente, mantenemos pulsado "Flecha izquierda" o "Flecha derecha", según si en la lógica de Windows la pantalla apagada está situada a la derecha de la actual (flecha izquierda para llevar la ventana a la actual) o a la izquierda (al revés). Esto moverá la ventana hacia nosotros.

Espero que haya sido útil a alguno de vosotros

miércoles, 15 de febrero de 2012

Trucos tontos: crear un autorun.inf para detectar virus en pendrives.

Un método tonto para detectar virus que atacan unidades USB:

Si tienes que utilizar a menudo ordenadores compartidos por mucha gente y que no están actualizados, supongo que te preocupará el hecho de llevarte un virus de regalo a casa cada vez que usas un pendrive. Este es un pequeño truco para detectar fácilmente si tienes un virus, y por tanto poder tomar medidas antes de que tu ordenador de casa se contagie. (De todas formas, es muy aconsejable que deshabilites la opción autorun en las unidades USB de tu ordenador de casa... )

1) Crea en la raíz del usb una carpeta llamada Autorun

2) Con un programa de dibujo que sea capaz de grabar en formato ico, crea un icono personalizado a partir de una foto y guárdalo en formato ICO en una carpeta llamada \autorun en tu lápiz usb. En caso de necesidad, puedes ponerle la extensión ICO a un BMP de 32x32 puntos.

3) Activa en tu explorador de archivos la opción de ver archivos ocultos y de sistema (dependiendo de la versión, los pasos serán diferentes. En XP es algo así como Herramientas => Opciones de Carpeta => Marcar "Mostrar todos los archivos y carpetas ocultos" y desmarcar "Ocultar archivos protegidos del sistema operativo").

4) En la raíz del USB, crea o edita el archivo de texto autorun.inf (si ese archivo contiene alguna línea que haga referencia a un archivo .EXE, puede que tengas un problema).

5) Inserta la siguiente línea:
[AUTORUN]
ICON=\autorun\nombredetuicono.ico

(sustituye nombredetuicono por el nombre que le hayas dado a tu icono).

6) Graba el archivo (no olvides que si lo editaste con Notepad tienes que seleccionar "Todos los archivos" como "Tipo de archivo" para poder ponerle la extensión inf).

7) Dale los atributos "Oculto", "Sólo Lectura" y "Sistema" a la carpeta autorun y a los archivos que has guardado (clic derecho en tus archivos => Propiedades => marca "Oculto" y "Sólo Lectura"; para dar el atributo de sistema, es posible que tengas que emplear la consola de MS-DOS (CMD.EXE): el comando es attrib +HRS letra_unidad:autorun.inf).

A partir de ese momento, cada vez que introduzcas la unidad usb en un ordenador con windows, aparecerá tu icono personalizado. En caso de que no exista, es muy posible que hayas sido infectado por un virus.

Ten en cuenta que el hecho de que siga apareciendo tu icono personalizado no garantiza que no haya un virus en el ordenador; simplemente, indica que el virus no afecta a los usb, o que es suficientemente inteligente como para no eliminar tu icono personalizado.