Czy możliwe jest zrzucenie nazw wszystkich otwartych plików w notepad ++ do pliku?

3

Więc przeciągnąłem i upuściłem wiele plików do notatnika ++. Pliki pochodzą z różnych katalogów i zostały wybrane przy użyciu różnych kryteriów.

Mam wiele plików otwartych w Notatniku ++. Teraz muszę mieć listę wszystkich otwartych plików w innym pliku.

W tej chwili moją jedyną opcją jest napisanie decyzji, które posłużyły mi jako przewodnik przy wyborze plików. Który jest prawdopodobnie najlepszy w dłuższej perspektywie, ale zastanawiam się, czy nie ma szybkiego w Notepad ++. Jakaś magia wtyczek lub cokolwiek innego.

Sugerowanie innego darmowego edytora, który ma tę funkcję, jest również dobrym rozwiązaniem (nie to, że zamierzam pozbyć się notatnika ++, broń Boże)

mark
źródło

Odpowiedzi:

3

Tak, zainstaluj Wtyczka Python Script Menedżer wtyczek.

Po zainstalowaniu konsoli Python przełącz konsolę Python.

Wpisz to w konsoli:

notepad.getFiles()

aby zwrócić wszystkie otwarte pliki jako typ listy:

[('C:\\Users\\ahmed\\Desktop\\1999.txt', 32818504, 0, 0), ('D:\\WORKSPACE\\imza\\e-mail.html', 32721752, 1, 0), ('new  1', 32721944, 0, 1)]

Poniższy kod jest jednorazowym poleceniem do pobrania nazw plików i jest odpowiedni dla wiersza polecenia Python Script. Możesz ją rozszerzyć za pomocą trwałych skryptów Pythona.

fileNames = [n[0] for n in notepad.getFiles()]

Jak zrzucić ten plikName do istniejącego pliku lub nowo utworzonego pliku

Aktualny dokument: Wklej ten kod i dwukrotnie naciśnij Enter.

for f in fileNames: editor.appendText(f + '\n')

Nowy plik Wklej ten kod.

notepad.new() ; for f in fileNames: editor.appendText(f + '\n')

Możliwe jest również zrzucenie do zewnętrznego pliku, z którego pochodzi ten fragment http://npppythonscript.sourceforge.net/ jest łatwy do zrozumienia, nawet jeśli nie znasz Pythona:

externalFile='_log.log'; console.run('cmd /c ls > "%s"' % externalFile, editor) 

Dokumentacja

Pełna dokumentacja jest dostępna w http://npppythonscript.sourceforge.net/docs/latest/ z Python Primer seminarium.

guneysus
źródło
4

File > Save Session utworzy plik z dużą ilością informacji o tym, co robisz. Będzie mieć listę wszystkich otwartych plików. Musisz zrobić trochę parsowania, aby uzyskać tylko nazwy plików.

Mike Chess
źródło
To doskonała rada i jest dla mnie wystarczająco dobra.
mark
Nadal jest to świetna rada, ale muszę zaakceptować odpowiedź guneysa - to najlepsza ręka w rękę.
mark
1

W systemie Windows, jeśli utworzysz folder na pulpicie (itp.) Zwany „zestawem roboczym” (lub czymkolwiek), możesz przeciągnąć skrót do pliku (ów) do tego folderu, zamiast przeciągać je do notatnika ++.

Następnie możesz otworzyć je normalnie, używając pliku & gt; otwórz okno dialogowe: notatnik otworzy cel skrótu. W ten sposób możesz otworzyć wiele plików w jednej operacji.

Możesz także kliknąć prawym przyciskiem myszy skrót w eksploratorze i „otworzyć za pomocą & gt; notatnika ++”, ale spowoduje to otwarcie tylko jednego pliku, a nie grupy, którą mógłbyś wybrać.

Zauważ, że jeśli użyjesz „wyślij do”, zamiast „otwórz za pomocą” otworzy się sam skrót, który jest plikiem binarnym, a nie tym, co chcesz.


Możesz także zapisać „sesję” w „menu plików”. Spowoduje to utworzenie pliku xml, który zawiera aktualnie otwarte pliki, a także ustawienia rzutni itp., Można przeładować sesję lub otworzyć i przeanalizować plik sesji, aby wyodrębnić nazwy plików.


Ponownie w przypadku okien, jeśli skryptujesz wybór pliku, możesz użyć vbs do utworzenia skrótów:

 set objWSHShell = CreateObject("WScript.Shell")

' command line arguments
' TODO: error checking
sShortcut = objWSHShell.ExpandEnvironmentStrings(WScript.Arguments.Item(0))
sTargetPath = objWSHShell.ExpandEnvironmentStrings(WScript.Arguments.Item(1))

set objSC = objWSHShell.CreateShortcut(sShortcut) 

objSC.TargetPath = sTargetPath

objSC.Save

Uwaga argument 0 będzie ścieżką nazwy skrótu, a argument 1 będzie celem skrótu (nazwa pliku). Można to nazwać za pomocą:

cscript create_shortcut.vbs %1 %2
horatio
źródło