Hallo,
ich verwende Notepad++ meist nur in einer Instanz (1 Hauptfenster), jedoch mit beiden Ansichten (2 Unterfenster) mit jeweils mehreren Tabs. Der Titel des Hauptfensters enthält immer den Pfad+Name der im jeweils aktivierten Tab geöffneten Datei und nur genau diese wird mit WinGet, List, List, ahk_class Notepad++ gefunden.
Gibt es eine Möglichkeit eine Liste aller in Notepad++ geöffneten Dateien zu erstellen?
Liste der in Notepad++ geöffneten Dateien Topic is solved
Moderator: jNizM
Re: Liste der in Notepad++ geöffneten Dateien Topic is solved
Probier mal, ob das klappt
Code: Select all
Loop, read, C:\Users\%A_Username%\AppData\Roaming\Notepad++\session.xml
{
If(Pos:=InStr(A_LoopReadLine, "filename="))
FilesOpen .= SubStr(A_LoopReadLine,Pos+10,StrLen(A_LoopReadLine)-Pos-13) "`n"
}
msgbox % FilesOpen
Re: Liste der in Notepad++ geöffneten Dateien
Hallo,
klappt sehr gut! Vielen Dank.
Wußte nicht, daß dort bereits eine Sitzungsdatei ist.
Viel besser als meine umständliche Interimslösung über Datei/Sitzung speichern eine weitere Sitzungsdatei zu erzeugen und diese dann auszuwerten.
klappt sehr gut! Vielen Dank.
Wußte nicht, daß dort bereits eine Sitzungsdatei ist.
Viel besser als meine umständliche Interimslösung über Datei/Sitzung speichern eine weitere Sitzungsdatei zu erzeugen und diese dann auszuwerten.
Re: Liste der in Notepad++ geöffneten Dateien
noch ein Beispiel
EDIT : ich öffne z.Bsp. 3 textfiles aber im xml sehe 2-files , evtl erscheint dritte File später (?)
EDIT : ich öffne z.Bsp. 3 textfiles aber im xml sehe 2-files , evtl erscheint dritte File später (?)
Code: Select all
f1=%a_appdata%\Notepad++\session.xml
fileread,aac,%f1%
transform,s,chr,34
Loop,parse,aac,`n,`r
{
x:=a_loopfield
if x=
continue
ax:= "Filename=" . s ;- begin
bx:= s ;- end
if x contains %ax%
{
stringlen,L1,ax
StringGetPos,P1,x,%ax% ;- begin position1
P1:=P1+L1
stringtrimleft,c2,x,p1 ;- after found cut rest from fulltext
StringGetPos,P2,c2,%bx% ;- until position bx
StringMid,cx,c2,1,P2
e .= cx . "`r`n"
}
}
aac=
msgbox,%e%
e=
return
Re: Liste der in Notepad++ geöffneten Dateien
Hallo,
ja, ist hier auch so.
Einstellungen/Optionen/Sicherheitskopien: Speichere Sitzung alle 7 Sekunden
funktioniert nicht - im angegebenen Verzeichnis ist bei mir nur alter Schrott.
Aber für meinen Zweck reicht es.
Bei Eingabe von Strg+n dem Standardkürzel für Datei neu schlägt mir Notepad++ jetzt (fast) immer eine Datei vor welche gerade nicht geöffnet ist.
ja, ist hier auch so.
Einstellungen/Optionen/Sicherheitskopien: Speichere Sitzung alle 7 Sekunden
funktioniert nicht - im angegebenen Verzeichnis ist bei mir nur alter Schrott.
Aber für meinen Zweck reicht es.
Bei Eingabe von Strg+n dem Standardkürzel für Datei neu schlägt mir Notepad++ jetzt (fast) immer eine Datei vor welche gerade nicht geöffnet ist.
Code: Select all
#IfWinActive ahk_class Notepad++
$^n:: ;Datei neu <Notepad++>
WinGetTitle, Titel, A
Send, ^n
Pfad := SubStr(Titel,1,InStr(Titel," - Notepad++")-1)
SplitPath, Pfad,,,Erweiterung
Sleep, 500
WinWaitNotActive, .%Erweiterung%,,4 ;(eine neue Datei hat keine Erweiterung)
Sleep, 500
Liste = ;Liste der geöffneten Dateien
Loop, read, %A_AppData%\Notepad++\session.xml
If Pos:=InStr(A_LoopReadLine, "filename=")
Liste .= SubStr(A_LoopReadLine, Pos+10
, InStr(A_LoopReadLine, "backupFile")-Pos-12) "`n"
Loop
Name := "new " A_Index "." Erweiterung
Until !InStr(Liste,Name)
SendInput, ^!s ;Speichern unter
WinWaitActive, Speichern unter ahk_class #32770,,5
Sleep, 500
SendInput,% Name
Return
Who is online
Users browsing this forum: No registered users and 30 guests