Ejecutar procesos indicando la prioridad en Windows

Si bien se puede Cambiar la prioridad de un proceso en Windows una vez iniciado, es posible que al lanzarlo desde la línea de comandos querramos indicar su prioridad:

start <prioridad> <comando>

donde <prioridad> es alguno de los siguientes valores:

  • /REALTIME: Tiempo real
  • /HIGH: Alta
  • /ABOVENORMAL: Por encima de lo normal
  • /NORMAL: Normal 😉
  • /BELOWNORMAL: Por debajo de lo normal
  • /LOW: Baja

Ejemplo

start /high /b backup.bat

Se ejecuta el archivo batch con la prioridad alta, sin crear una nueva ventana (/b)

También podés Ejecutar procesos indicando la prioridad en Linux

Anuncios

Atajo para acceder a las Propiedades del sistema en Windows 7

Cada tanto tengo que acceder a las Propiedades del sistema en Windows. Agregar Variables de entorno es lo más común y en algunos casos mas remotos, configurar la posibilidad de Restaurar sistema o la configuración de Escritorio remoto.

Siempre sigo los mismos pasos:

  1. Acceder a “Sistema”
    • Sobre el icono de Equipo en el escritorio, presionar el botón derecho y elegir Propiedades.
      • Se puede hacer lo mismo sobre el vínculo Equipo dentro del menú Inicio
    • Acceder a Panel de Control > Sistema desde el menú Inicio
    • Abrir Equipo y en los comandos en la barra superior elegir “Propiedades del sistema” (*)
    • Presionar Tecla Win + Pausa
  2. Presionar sobre “Configuración avanzada del sistema” a la izquierda.

(*) Lo cual es raro porque accede a “Sistema”… Si elegimos “Propiedades” entre los comandos, se presentan las propiedades de la unidad de disco seleccionada dentro del Equipo.

El atajo para acceder de manera inmediata es:

Presionar Win + R (Ejecutar…) y tipear “sysdm.cpl

Establecer una dirección IP fija en Windows

Cuando un equipo no tiene una dirección IP fija, necesita que otro dispositivo le asigne una automáticamente / dinámicamente. De esta tarea se encarga el servicio DHCP que puede estar provisto por un servidor dedicado o por un router por ejemplo.

Hay casos en los que necesitamos definirle una dirección IP en particular al equipo, ya sea por organización o para configurar alguna otra aplicación o servicio que así lo requiera. Si bien DHCP se puede configurar para asignar cierta IP del rango disponible a una dirección MAC determinada, requiere saber obtener la dirección MAC de la placa de red de un equipo y tener acceso a la configuración del servicio DHCP.

A continuación voy a explicar cómo hacerlo para una dirección IPv4 (es muy similar para IPv6, y en un futuro será necesario hacerlo).

En Windows 7, debemos llegar hasta las Propiedades de la conexión correspondiente al dispositivo de red (placa de red con conexión Ethernet o Wifi). Una de las formas para lograrlo:

  1. Abrir el Panel de Control
  2. Acceder a Centro de Redes y Recursos Compartidos
  3. Elegir “Cambiar configuración del adaptador” en la lista de comandos de la izquierda

También podemos ir a Inicio > Ejecutar… y tipear:

ncpa.cpl

Una vez allí veremos las conexiones existentes y deberemos determinar cual es la que queremos configurar. Sobre ella:

  1. Click derecho y elegir Propiedades
  2. Posicionarse sobre “Protocolo de Internet versión 4”
  3. Presionar “Propiedades”
  4. Elegir la opción “Usar la siguiente dirección IP”
  5. Completar:
    • Dirección IP y Máscara de subred: esta es la dirección fija para el equipo
      • No podemos poner “cualquier” valor. De lo contrario, nuestro equipo podría quedar inaccesible al resto de los dispositivos de la red.
    • Puerta de enlace predeterminada: por lo general es la dirección IP del router de la LAN
  6. Completar también el Servidor DNS preferido: por lo general es la dirección IP del router de la LAN
    • Alternativamente, pueden usarse los DNS de Google: 8.8.8.8 y 8.8.4.4

Procesar varios archivos por línea de comandos en Windows

Para aplicar un cierto acción a varios archivos desde la línea de comandos de Windows existe la instrucción forfiles.

En Windows 7, la invocación tiene los siguientes parámetros (todos son opcionales):

  • /P <PATH>: ruta sobre la cual buscar los archivos
    • Si no se especifica, se considera el directorio actual
  • /S: se procesan los subdirectorios del path recursivamente
  • /M <PATRON>: patrón de los archivos a considerar, pudiendo indicar nombre y extensión. Por ej: *.log
    • Si no se especifica, se considera *
  • /D  { [+] | – }{ dd/mm/aaaa | N }: selecciona archivos a partir de la fecha de última modificación de cada uno.
    • Si no se especifica el signo -, se considera por defecto +
    • -dd/mm/aaaa: fecha de última modificación anterior o igual a dd/mm/aaaa
    • +dd/mm/aaaa: fecha de última modificación posterior o igual a dd/mm/aaaa
    • -N: fecha de última modificación anterior o igual a la fecha actual menos N días
    • +N: fecha de última modificación posterior o igual a la fecha actual más N días
  • /C “<COMANDO>”: indica la acción a ejecutar sobre cada uno de los archivos que hayan sido seleccionados
    • Si no se especifica, se considera “cmd /c echo @file”
    • Si se desea utilizar un comando de CMD, deben estar precedidos por “cmd /c”
    • Variables disponibles en <COMANDO>
      • @file: nombre del archivo
      • @fname: nombre de archivo sin extensión
      • @ext: extensión del archivo
      • @path: ruta de acceso completa al archivo
      • @relpath: ruta de acceso relativa del archivo
      • @isdir: “TRUE” si es un directorio y “FALSE” si es un archivo
      • @fsize: tamaño del archivo en bytes
      • @fdate: última fecha de modificación del archivo
      • @ftime: última hora de modificación del archivo

 

Ejemplos:

forfiles /P C:\logs /D -20 /C "cmd /c del @path"

Borra los archivos del directorio logs de más 20 días desde su última fecha de modificación

forfiles /C "cmd /c if @isdir==TRUE echo @file"

Imprime por pantalla los directorios que se encuentren en la ruta actual

forfiles /P C:\Documents\ /S /M *.xlsx /C "cmd /c echo @fname - @fdate"

Muestra el nombre y fecha de última modificación de cada uno de los archivos de Excel dentro del directorio de documentos (y subdirectorios)

Respaldar preferencias y datos de la sesión de Firefox en Windows

Me sucede cada cierto tiempo que debido a un reinicio espontáneo del equipo, un corte de luz o un cuelgue de Firefox, se pieden o bien las preferencias del navegador o bien los datos de la sesión: principalmente las pestañas abiertas y los grupos de pestañas!

Como me gusta Firefox y quiero seguir usándolo, busqué la forma de respaldar esta información y poder recuperarla en caso de fallo. A continuación les presento el contenido del script para realizar esta tarea (tomando como base un script de respaldo en Windows), el cual pueden programar para que se ejecute por ejemplo en cada inicio de sesión en Windows.

Obs: Debemos conocer la ubicación del perfil de Firefox para poder avanzar.

Estructura del script

@echo off
for /f "tokens=1-3 delims=/- " %%a in ('date /t') do set FECHA=%%c%%b%%a
for /f "tokens=1-2 delims=: " %%a in ('time /t') do set HORA=%%a%%b

copy <PATH_FIREFOX_PROFILE>\sessionstore.js <PATH_BACKUP>\sessionstore-%FECHA%-%HORA%.bak
copy <PATH_FIREFOX_PROFILE>\pref.js <PATH_BACKUP>\sessionstore-%FECHA%-%HORA%.bak

Entonces tendremos en PATH_BACKUP una copia de los archivos sessionstore.js (datos de la sesión) y pref.js (preferencias) del perfil de Firefox, renombrados con extensión bak y con la fecha y hora en que se copiaron.

Para no tener que ir cada cierto tiempo a eliminar las copias viejas, podemos hacer que el script lo haga automáticamente borrando los archivos .bak de más de N días desde su última modificación, agregando al final:

forfiles /P <PATH_BACKUP> /M *.bak /D -<N> /C "cmd /c del @path"

Donde N indica la cantidad de días previos a la fecha actual, lo cual determina una fecha tope. Se seleccionan los archivos cuya fecha de última modificación sea menor o igual a esa fecha tope.

Atención: Si el script no se ejecuta por mucho tiempo es posible que eliminemos las únicas copias de las que disponemos!

Ejemplo:

@echo off
for /f "tokens=1-3 delims=/- " %%a in ('date /t') do set FECHA=%%c%%b%%a
for /f "tokens=1-2 delims=: " %%a in ('time /t') do set HORA=%%a%%b

copy C:\Profiles\Firefox\q7v2je1d.default\sessionstore.js <PATH_BACKUP>\sessionstore-%FECHA%-%HORA%.bak
copy C:\Profiles\Firefox\q7v2je1d.default\pref.js D:\firefox_backups\sessionstore-%FECHA%-%HORA%.bak

forfiles /p D:\firefox_backups\ /M *.bak /D -90 /C "cmd /c del @path"

De esta forma cada vez que se ejecute el script estaremos respaldando las preferencias e información de la sesión de Firefox y automáticamente borrando los archivos copiados de más de 90 días (cada par ocupa menos de 350 Kb.)

Atajos para elementos anclados en la barra de tareas de Windows 7

Si usamos mucho los elementos anclados en Windows 7, podemos lanzarlos mediante un atajo de teclado:

  • Win + [1-9]: inicia la aplicación anclada en la posición [1-9] de izquierda a derecha
  • Win + 0: inicia la aplicación anclada en la posición 10

Si la aplicación ya esta abierta y no hay botones combinados, al soltar el número y volver a presionar, la misma se minimiza.

En caso de que los botones se muestren combinados:

  • al soltar el número y volver a presionar, se pasa por cada una de las ventanas de dicha aplicación.
  • al presionar y soltar rápidamente, la previsualización de las ventanas de la aplicación queda abierta y se puede pasar por ellas usando las flechas del teclado.

OBS: En Windows XP, esta combinación de teclas permitía ejecutar las aplicaciones que se encontraban en la barra de herramientas de Acceso Rápido

Tip adicional: Si hacen click del medio sobre un elemento de la barra de tareas, se abre una nueva ventana de la aplicación que corresponda (siempre que la aplicación soporte múltiples ventanas)

Botones combinados

Los elementos en la barra de tarea se pueden configurar para que se agrupen (combinen) cuando son de la misma aplicación. Para ver la configuración actual:

  1. Click derecho sobre la barra de tareas
  2. Elegir Propiedades
  3. En la solapa Barra de Tareas, ver el valor de “Botones de la barra de tareas”:
    • Combinar siempre y ocultar etiquetas: cada ventana se agrupa con las de la misma aplicación (un botón por cada aplicación)
    • Combinar si barra está llena
    • No combinar nunca: cada ventana genera un botón distinto en la barra de tareas

Qué hacer cuando explorer.exe no responde

Más allá de que puede haber cientos de causas para un problema como este, cuando notamos que deja de funcionar la barra de tareas, el menú inicio y el escritorio tenemos que intentar recuperar el control del sistema.

En algunos casos podemos notar que el puntero del mouse se vuelve un aro con un brillo que le da vueltas y/o puede aparecer un cartel indicando “explorer.exe no responde”. Si el origen es casual debido a que usamos una cierta aplicación o intentamos hacer una acción compleja, podemos hacer lo siguiente:

  1. Cerrar todas las aplicaciones posibles
  2. Abrir el administrador de tareas
  3. Acceder a la solapa Procesos
  4. Buscar y seleccionar el proceso cuyo nombre de imagen es “explorer.exe”
  5. Presionar el botón “Finalizar proceso” (abajo a la derecha)
  6. Confirmar la finalización del proceso
  7. Dentro del administrador de tareas, seleccionar del menú Archivo > “Nueva tarea (Ejecutar…)”
  8. Tipear “explorer” y Aceptar

Una vez hecho esto, es posible que todo vuelva a la normalidad. De lo contrario, si ocurre nuevamente o muy a menudo entonces es probable que el problema sea más grave como por ejemplo una aplicación que falla, un malware, un virus o el antivirus mismo.