É possível despejar os nomes de todos os arquivos abertos no notepad ++ em um arquivo?

3

Então, eu arrastei e soltei vários arquivos no notepad ++. Os arquivos vieram de diretórios diferentes e foram selecionados usando critérios diferentes.

Então, eu tenho muitos arquivos abertos no Notepad ++. Agora eu preciso ter uma lista de todos os arquivos abertos em outro arquivo.

Agora, minha única opção é roteirizar as decisões usadas para me orientar na seleção dos arquivos. Qual é provavelmente o melhor a longo prazo, mas gostaria de saber se existe um quicky no Notepad ++. Alguma magia de plugin ou qualquer outra coisa.

Também é uma boa opção sugerir outro editor gratuito que tenha essa função (não que eu vá dispensar o notepad ++, Deus me livre)

    
por mark 31.10.2013 / 15:49

3 respostas

3

Sim, instale o Gerenciador de plug-in do Script de script do Python .

Depois de instalar o console do Python, alterne o console do Python.

Digite isto no console:

notepad.getFiles()

para retornar todos os arquivos abertos como um tipo de lista:

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

O código abaixo é o comando one-shot para recuperar os nomes dos arquivos e é adequado para a linha de comando do Script Python. Você pode estendê-lo com scripts Python persistentes.

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

How to dump this fileNames to an existing file or newly created file

Arquivo atual: Cole este código e pressione Enter duas vezes.

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

Novo arquivo Cole este código.

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

Também é possível fazer o dump para um arquivo externo, esse snippet do link é fácil de entender, mesmo que você não esteja familiarizado com o Python :

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

Documentation

A documentação abrangente está disponível no link com tutorial do Python Primer .

    
por 05.11.2013 / 22:23
4

File > Save Session criará um arquivo com muitas informações sobre o que você estava fazendo. Ele terá uma lista de todos os arquivos abertos. Você terá que fazer um pouco de análise para obter apenas os nomes dos arquivos.

    
por 31.10.2013 / 16:35
1

No Windows, se você criar uma pasta na área de trabalho (etc) chamada "working set" (ou qualquer outra), poderá arrastar um atalho para o (s) arquivo (s) nessa pasta em vez de arrastá-los para o notepad ++.

Você pode então abri-los normalmente usando o arquivo > caixa de diálogo aberta: o bloco de notas abrirá o alvo do atalho. Você pode abrir vários arquivos em uma operação dessa maneira.

Você também pode clicar com o botão direito do mouse no atalho no explorer e "abrir com o > notepad ++", mas isso abrirá apenas um único arquivo, em vez de um grupo que você tenha selecionado.

Observe que, se você usar "enviar para", em vez de "abrir com", ele abrirá o atalho em si, que é um arquivo binário e não o que você deseja.

Você também pode salvar uma "sessão" no "menu de arquivos". Isso criará um arquivo xml que contém os arquivos abertos no momento, bem como as configurações da janela de visualização, etc., você pode recarregar a sessão ou pode abrir e analisar o arquivo da sessão para extrair os nomes dos arquivos.

Novamente para Windows, se você estiver criando scripts para a seleção de arquivos, poderá usar o vbs para criar os atalhos:

 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

Observe que o argumento 0 será o caminho um nome do atalho e o argumento 1 será o destino do atalho (o nome do arquivo). Isso pode ser chamado usando:

cscript create_shortcut.vbs %1 %2
    
por 31.10.2013 / 16:18

Tags