Cómo desbloquear un archivo o carpeta en Windows

Esto no es frecuente, pero en ocasiones Windows bloquea una carpeta o un archivo, de tal forma que cuando se intenta modificar su nombre o eliminarlo, aparece la advertencia: “La acción no se puede completar porque otro programa abrió la carpeta o uno de sus archivos. Cierre la carpeta e inténtelo de nuevo”.

Si efectivamente tienes la carpeta o alguno de sus archivos abierto, ciérrala. Sin embargo en ocasiones tenemos todo cerrado y aún así­ se muestra este problema. Para solucionarlo tenemos que cerrar el proceso que tiene bloqueada la carpeta.

Para ello necesitaremos descargar el programa Process Explorer de esta liga. Este programa es gratuito. No se instala, solamente descomprí­melo en una carpeta y haz doble clic en el archivo “procexp.exe”.  Es posible que tengas que ejecutar el programa como administrador.

Una vez que abra el programa, haz clic en el icono de Encontrar.

Ahora teclea el nombre de la carpeta que está bloqueada y oprime “Search”. Después haz clic en la entrada encontrada y esto marcará un renglón en la ventana principal, haz clic con el botón derecho y selecciona “Kill Process”.

Se te preguntará si estás seguro, haz clic en “Sí” y listo, queda desbloqueada la carpeta, ahora la puedes modificar a tu gusto.

Herramienta tipo Photoshop en lí­nea

Esta aplicación ofrece una funcionalidad similar a la de Photoshop. Es una aplicación web, lo que significa que para su uso solamente necesitas un navegador de Internet.

Es impresionante la variedad y calidad de las herramientas que lograron. Aquí­ pongo una imagen, pero te recomiendo entrar para que lo veas por ti mismo.
http://pixlr.com/app

pix

Para ver más opciones, entra a http://pixlr.com/

Cómo generar automáticamente un archivo ZIP con ASP.NET

En un proyecto en el que estoy trabajando tenía la necesidad de crear un archivo zip que tuviera varios archivos que estaban en un directorio en el servidor. Para no estar generando el zip manualmente cada vez que se pusiera un archivo nuevo y subirlo por FTP, pensé que serí­a bueno crearlo dinámicamente con código ASP.NET.

Buscando en Google, encontré esta excelente librería:

DotNetZip

Es muy sencilla de usar y los archivos generados se abren correctamente con la herramienta de carpetas comprimidas integrada en Windows y con Winzip.

Instrucciones para generar un archivo zip dinámicamente:

En la página antes mencionada haz clic en Releases y descarga el archivo llamado DotNetZipLib-Runtime-v1.7.zip. Cuando lo descargues, busca una carpeta llamada DotNetZip-v1.7 y dentro de ella encontrarás un archivo llamado Ionic.Zip.dll.

Copia ese archivo a la carpeta Bin de tu aplicación.

Para crear un archivo zip, usa el siguiente código que coloqué en el evento Click de un Button, pero que puedes usar donde te convenga.

Primero especifica que vas a utilizar la librería:

  1. Imports Ionic.Zip

Después úsalo así:

  1. Protected Sub CrearZip_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CrearZip.Click
  2.     Response.Clear()
  3.     Dim ElZip As ZipFile = New ZipFile()
  4.     Using ElZip
  5.     ElZip.AddDirectory("C:ArchivosAComprimir", "Documentos")
  6.     ElZip.AddFile("C:OtrosArchivosMiArchivo.pdf", "Documentos")
  7.     ElZip.Save(Response.OutputStream)
  8.     End Using
  9.     Response.AddHeader("Content-Disposition", "attachment; filename=MisDocumentos.zip")
  10.     Response.ContentType = "application/octet-stream"
  11.     Response.End()
  12. End Sub

Como podrás deducir, AddDirectory añade un directorio completo, incluyendo todos los archivos y carpetas que contenga, recursivamente. AddFile añade un archivo específico.

El segundo parámetro de ambas funciones define el directorio raíz propio del archivo zip generado. No tiene que coincidir con la ruta fí­sica donde están ubicados los archivos, este valor lo puedes definir tú. En mi ejemplo, el directorio raíz del archivo zip tendrá un único directorio llamado “Documentos”, y bajo él estará MiArchivo.pdf y toda la carpeta ArchivosAComprimir.

Cabe mencionar que en mi ejemplo el archivo será enviado al navegador como si se tratara de una descarga, pero también lo podrí­as almacenar en el disco duro.

Esta librería permite muchas más funciones, como:

  • Crear archivo zip y agregarle archivos o directorios
  • Listar los archivos dentro de un zip, y extraerlos
  • Modificar un archivo zip existente, con la capacidad de renombrar, remover o agregar nuevos elementos
  • Crear, guardar (como en mi ejemplo), extraer y leer de un stream

Se puede usar con cualquier lenguaje de .NET y cuenta, incluso, con una GUI que puedes usar en Windows.

Ni la librería ni la GUI tienen costo.

Para descargar la librería, la GUI, y el manual de usuario, ve a la página que puse al principio.

Librerí­a de JavaScript jQuery

Existen varios productos desarrollados en JavaScript que puedes comprar por separado para incluir en tus sitios web, como tabs (pestañas), acordeones, pop-ups, etc.

Pero hay una librerí­a muy buena que es de descarga gratuita, se llama jQuery.

A pesar de ser libre está muy bien desarrollada, incluso tiene distintos temas de diseño de cuales escoger. Cada componente tiene varias opciones de configuración que te permiten personalizarlos.

Esta librería contiene:

Interacciones

  • Arrastrar
  • Soltar
  • Dar tamaño
  • Seleccionar
  • Ordenar

Widgets

  • Acordeón
  • Seleccionador de fecha
  • Ventana emergente
  • Barra de progreso
  • Deslizador (slider)
  • Pestañas (tabs)
jquery

Si eres desarrollador también puedes desarrollar tus propios widgets usando esta librería.

Esta es la página donde encuentras los widgets:
http://ui.jquery.com/