Últimamente estoy haciendo bastante trabajo rápido en Powershell de ejecutar algunas sentencias para usuarios rápidas, cambiar algunos valores en algunos parámetros… Notepad++ me ayuda rápidamente a conseguir modificar comandos y poder así ejecutarlos en “bulk” directamente en Powershell.
Estos son los trucos que más utilizo en Notepad++ en el día a día. Digamos que tengo un pequeño grupo de usuarios o buzones a los cuáles quiero cambiar de base de datos en Exchange.
NOTA: Los nombres son completamente reales xP
Añadir caractéres al final de la línea
La clave es utilizar Reemplazar. Para ello pulsamos CTRL+F lo cual nos abrirá la ventana de búsqueda y seleccionaremos “Replace” en las pestañas superiores. Ahora solo pondremos el símbolo de $
en “Find What” y el texto deseado en “Replace with” para después pulsar en Replace All
El resultado es que el texto que hemos puesto antes en “Replace with” nos aparece a la derecha de las líneas que teníamos antes en el editor. Fíjate que antes he añadido un espacio antes del texto para que no se mezcle
Añadir caractéres al comienzo de la línea
Continuando con el comando que queremos generar (habíamos dicho que la finalidad era mover algunos buzones a una base de datos) rellenaremos a la izquierda del texto o el comienzo de la línea el texto que deseamos
Para ello volveremos a utilizar Reemplazar (de nuevo CTRL+F), Replace, en “Find What” pondrémos este símbolo: ^
. De nuevo introduciremos el texto que deseamos y volvemos a pulsar en el botón Replace All
¿Cómo se obtiene el símbolo ^
? Debemos pulsar SHIFT+ la tecla que está a la derecha de la “P” en un teclado español y luego volviendo a pulsar la misma tecla pero esta vez sin el SHIFT – sí, ya lo sé, es un poco raro ;). Si no dispones de teclado en Español entonces debes de utilizar el mapa de caractéres de Windows.
El resultado debería ser algo así:
Fíjate que al final de la línea en “Replace With” he puesto un espacio al final
Ya estaría la serie de comandos que queremos ejecutar como los queremos. Ahora simplemente copiamos todo el texto en Powershell y ejecutamos.
Añadir comillas
Otras veces nos encontramos con que nos pasan un listado de nombres de usuario o “DisplayNames” con espacios en el medio (grrrr), cuando intentamos ejecutar éstos en Powershell no los va a reconocer debido a que existe un espacio en el medio. Para ello necesitaremos añadir comillas al principio y al final de cada línea.
Para hacer esto debemos llegar de nuevo hasta Reemplazar. En “Find what” introduciremos (.+)
, en “Replace with” escribimos "\1"
Al seleccionar el botón “Replace” debería pasar algo así:
Convertir líneas en CSV
Si queremos que la lista anterior se convierta en una lista separada por comas, es decir, un CSV simplemente pondremos en “Find What” esto: \r\n
y en “Replace” una simple coma ,
El resultado será el siguiente:
Y bueno pues ya estaría 🙂