No Windows, existe uma maneira de abrir o texto selecionado como uma pasta?

0

Por exemplo, digamos que eu tenha o texto em algum lugar (Notepad, Word ...):

Go to directory C:\Program Files, then...

Gostaria de selecionar o que está em negrito, clicar com o botão direito e ter um item de menu dizendo " Ir para C: \ Arquivos de Programas ".

Existe alguma extensão para (ou talvez uma maneira do Windows) ter isso?

    
por Leo Heinsaar 27.11.2015 / 11:30

1 resposta

1

A menos que alguém tenha feito um aplicativo para fazer exatamente o que você está descrevendo (não sei de nenhum), a solução gostaria de envolver codificação ou script.

Pelo que entendi, há duas partes:

1) Como realizar a abertura de um caminho a partir de algum texto selecionado

2) Como adicionar # 1 a um menu de contexto.

Para o nº 1 (scripts da ação):

Isso pode ser feito de forma programática a partir de vários idiomas. Pessoalmente, eu usaria um script Autohotkey, mas poderia ser feito de outras maneiras.

O script abaixo funcionou para mim em Autohotkey L (1.1), que pode ser encontrado aqui link

Atualmente, estou ligado à tecla F3. Mas poderia ser ajustado para qualquer chave baseada na sintaxe aqui: link

Instale o AHK_L e salve como openSelPath.ahk:

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

; test folder D:\Downloads
; test file D:\Dev\YOmDuDV.jpg
; no-existent path D:\Dev\doesnotexist.foo

~F3::
    openSelectedPath()
    return



openSelectedPath() {
    send, ^c
    sleep, 200
    strPath := Clipboard 
    intLen := StrLen(strPath)
    if ( intLen > 0) {
        ;check if path exists
        strResult := FileExist(strPath)
        if ( "" == strResult) {
            msgbox, 48, Error:, Path "%strPath%" not found.
            return
        }
        isDir := (0 != InStr(strResult, "D"))
        if ( 1 == isDir ) {
            Run, explorer.exe "%strPath%"
            return
        }

        intLastSlash := InStr(strPath, "\", false, 0)
        if ( 0 == intLastSlash ) {
            msgbox, 48, Error:, Path "%strPath%" not found.
            return
        }
        strParentDir := SubStr(strPath, 1, intLastSlash- 1)

        ;check if path exists
        strResult := FileExist(strParentDir)
        if ( "" == strResult) {
            msgbox, 48, Error:, Path "%strParentDir%" not found.
            return
        }
        isDir := (0 != InStr(strResult, "D"))
        if ( 1 == isDir ) {
            Run, explorer.exe "%strParentDir%"
            return
        }
    }
    return
}

Para o nº 2 (adicionando a um menu de contexto):

Eu vejo que uma das tags é 'menu de contexto' ... Eu admito, não tenho certeza se você faria isso em um menu de contexto; baseado na descrição, parece que você gostaria de fazer isso diretamente do notepad / wordpad / etc. O suporte para menus de contexto é específico do programa.

Eu não acho que você seria capaz de acessá-lo a partir de um menu de contexto para qualquer aplicativo da Microsoft (Notepad / Wordpad / Word / Excel / etc), pois eles são de código fechado. Você poderia talvez fazer alguns plug-ins para os aplicativos do Office, mas acredito que isso requer programação.

Eu sei que alguns aplicativos de código aberto como o Notepad ++ suportam a definição de atalhos via XML, etc (acho que as opções do menu de contexto também podem ser suportadas no NPP, mas isso pode requerer escrever um plugin em C ++).

Se você estiver falando sobre o Windows Explorer / File Explorer, é possível adicionar verbos no menu de contexto, mas não faria sentido fazer isso neste cenário, porque você presumivelmente estaria lançando de algum outro programa.

    
por 29.11.2015 / 01:46