Aplicativo de menu de contexto não encontrado

Aplicativo de menu de contexto não encontrado

Há algum tempo, adicionei um script que escrevi ao menu de contexto. Faz um tempo que não preciso dele, mantenho-o por perto. Hoje tentei usar novamente e não funcionou.

Incluí uma imagem do erro abaixo. O título e a primeira linha são o diretório que selecionei.

Eu sei com certeza que o caminho para o comando é válido e funciona conforme testei o script no prompt de comando.

O erro em questão

O que posso fazer para corrigir esse erro? Isso ocorre no Windows 10, se isso mudar alguma coisa, e o comando é o seguinte:

python M:\Sped\python\Extract\extract.py "%1"

Responder1

Se você vir esse erro, é provável que o caminho da pasta esteja incorreto e/ou o menu de contexto do shell esteja tendo problemas com suas chamadas de script python.

Esta é uma abordagem que usei com sucesso para corrigir o erro.

Crie o arquivo de registromypthonprog.regarquivo semelhante a este:

[HKEY_CLASSES_ROOT\Folder\shell\mypythonprog]
@="mypythonprog"
"Icon"="C:\\Users\\winuser\\AppData\\Local\\Programs\\Python\\Python311\\python.exe ,0"

[HKEY_CLASSES_ROOT\Folder\shell\mypthonprog\Command]
@="c:\\\\mypath\\\\subfolder\\\\myprog.cmd \"%1\""

O nome do seu item de menu de contexto pode ser alterado demypthonprogpara o que você deseja usar, além de alterar o caminho do ícone, se necessário.

O caminho do arquivo de comando pode ser alterado para onde ele reside em seu sistema de arquivos (de preferência permanentemente).

Crie o arquivo cmdmeuprog.cmdsemelhante a isto:

"C:\Users\winuser\AppData\Local\Programs\Python\Python311\python.exe" "c:\mypath\subfolder\mypyprog.py" %1

O caminho do local do python deve ser alterado para onde você instalou o python.

Modifique o arquivo pythonmeupyprog.pysemelhante a isto:

def main():
    # Check if a folder path is passed as an argument
    if len(sys.argv) < 2:
        print("Folder path not provided.")
        sys.exit(1)

    folder_path = sys.argv[1]

Isso torna o código python ciente do parâmetro de pasta que você está passando.

informação relacionada