Wie können Sie in Notepad++ ein Makro erstellen, das die aktuelle Datei unter einem anderen Namen speichert?
Wenn ich den Makrorekorder in Notepad++ verwende, scheint er keine Save
Vorgänge aufzuzeichnen.
Idealerweise möchte ich, dass Notepad++ die aktuelle Datei am selben Ort speichert, an dem sie geöffnet wurde, aber die letzten 9 Zeichen im Dateinamen löscht. Wenn die aktuelle Datei beispielsweise lautet:
c:\foo\bar123456789.c
Ich möchte, dass ein Notepad++-Makro es wie folgt speichert:
c:\foo\bar.c
(überschreibt alle Dateien mit diesem Namen)
Das ist das ideale Ziel, aber selbst wenn ich es mit einem Notepad++-Makro hinbekomme, das dem nahe kommt, wäre das schon eine Verbesserung gegenüber der manuellen Ausführung dieses Vorgangs.
Antwort1
Sie können ein Python-Skript innerhalb des PythonScript-Plugins ausführen.
Wenn es noch nicht installiert ist, folgen Sie diesenFührung
Erstellen Sie ein Skript (Plugins >> PythonScript >> Neues Skript)
Kopieren Sie diesen Code und speichern Sie die Datei (zum Beispiel 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);
- Öffnen Sie die Datei, die Sie ändern möchten
- Führen Sie das Skript aus (Plugins >> PythonScript >> Skripte >> ersetzen)
- Erledigt
Regex-Erklärung:
.{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
Wenn da iststets9 Zeichen zu entfernen, verwenden Sie .{9}
statt.{1,9}