En Notepad++, ¿cómo se puede crear una macro que guarde el archivo actual con un nombre diferente?
Cuando uso la grabadora de macros en Notepad++, no parece registrar ninguna Save
operación.
Idealmente, me gustaría que Notepad++ guarde el archivo actual en la misma ubicación en la que se abrió, pero elimine los últimos 9 caracteres del nombre del archivo. Por ejemplo, si el archivo actual es:
c:\foo\bar123456789.c
Me gustaría tener una macro de Notepad++ y guardarla como:
c:\foo\bar.c
(sobrescribiendo cualquier archivo con ese nombre)
Ese es el objetivo ideal, pero incluso si puedo conseguir que una macro de Notepad++ se acerque a eso, será una mejora con respecto a realizar esa operación manualmente.
Respuesta1
Puede ejecutar un script de Python dentro del complemento PythonScript.
Si aún no está instalado, siga estoguía
Crear un script (Complementos >> PythonScript >> Nuevo script)
Copie este código y guarde el archivo (por ejemplo replace.py
):
import re
# Define the new filename
newFilename = notepad.getCurrentFilename()
# remove up to 9 characters before extension
newFilename = re.sub(r'.{1,9}(?=\.\w+$)', '', newFilename)
# Save current file with new name
notepad.saveAs(newFilename);
- Abra el archivo que desea cambiar
- Ejecute el script (Complementos >> PythonScript >> Scripts >> reemplazar)
- Hecho
Explicación de expresiones regulares:
.{1,9} # 1 upto 9 any characters
(?= # positive lookahead, make sure we have after (without capturing)
\. # a dot
\w+ # 1 or more word characters
$ # end of string
) # end lookahead
Si haysiempre9 caracteres para eliminar, utilizar .{9}
en lugar de.{1,9}