Existe uma maneira de definir um aplicativo padrão para abrir todos os tipos de arquivo para uma pasta específica?

0

Eu tenho uma pasta específica com diferentes tipos de arquivos (txt, pdf, docx, qualquer ) que quando clicou duas vezes no File Explorer, eu não quero o padrão aplicativos para abrir esses arquivos. Em vez disso, quero que um aplicativo específico abra esses arquivos que residem apenas nessa pasta específica.

Eu explico isso de outra maneira. Diga que a pasta C: \ Test contém os seguintes arquivos:

  • test.txt
  • manual.pdf
  • plans.docx
  • finance.xlsx
  • foo.mp4

Se esses arquivos foram encontrados em qualquer outra pasta em vez de C: \ Test, os aplicativos padrão serão abertos:

  • test.txt - > Bloco de notas
  • manual.pdf - > Adobe Reader
  • plans.docx - > Microsoft Word
  • finance.xlsx - > Microsoft Excel
  • foo.mp4 - > Windows Media Player

Mas como esses arquivos estão em C: \ Test, quando eu clico duas vezes sobre eles no File Explorer, quero que todos sejam abertos por default_app.exe:

  • test.txt - > default_app.exe
  • manual.pdf - > default_app.exe
  • plans.docx - > default_app.exe
  • finance.xlsx - > default_app.exe
  • foo.mp4 - > default_app.exe

Desculpe-me se minhas habilidades no Google não forem boas o suficiente, mas estive procurando por respostas durante alguns dias.

    
por Sydrik 03.04.2018 / 17:10

2 respostas

3

Resposta curta é não, e você não gostaria que funcionasse de outra maneira.

Se isso pudesse acontecer, um único programa poderia seqüestrar pastas inteiras em sua máquina. As permissões de arquivo seriam mal gerenciadas e o sistema de arquivos seria um alvo fantástico para malware.

Além disso, a probabilidade de um aplicativo poder ler todos os tipos de arquivo e fazer sentido para o usuário é improvável.

Você pode armazenar os arquivos em um banco de dados e fazer com que seu programa os chame para fora do banco de dados em vez do sistema de arquivos do Windows. Como alternativa, você pode fazer com que seu aplicativo passe pela pasta e altere as extensões de arquivo para as que ele sozinho entende e defina essas associações no Windows.

    
por 03.04.2018 / 17:14
1

Você pode fazer isso com um script AutoHotkey.

; This script will intercept double-clicks and if you have double-clicked a file within a pre-defined directory,
; instead of opening the file with the default app, open the file with a custom app instead.

#Persistent
#SingleInstance, Force
#InstallKeybdHook
#HotkeyInterval, 100
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetTitleMatchMode 2
SetWinDelay, 0

WaitTime := DllCall("GetDoubleClickTime")
SpecialDir := "C:\Test"
ExecWith := "C:\path\to\default_app.exe"

LButton Up::
    IfWinActive ahk_exe explorer.exe
    {
        PrevClip := ClipBoard
        If (A_TimeSincePriorHotkey<400) and (A_TimeSincePriorHotkey<>-1)
        {
            SendInput, ^c ; Get path to file you double-clicked on
            Sleep, 50 ; Sleep to give time for clipboard to get contents
            If FileExist(ClipBoard)
            {
                Run %ExecWith% %ClipBoard%
            } else {
                SendInput, {LButton}
            }
            ClipBoard := PrevClip
        } Else {
            SendInput, {LButton}
        }
    } Else {
        SendInput, {LButton}
    }
Return

Basta salvar este código em um arquivo chamado explorer-double-click.ahk (ou algo similar que termina em .ahk).

Você desejará editar o SpecialDir e o ExecWith (linhas 15 e 16) para definir os caminhos adequadamente.

Você precisará ter o AutoHotkey instalado primeiro. Então corra.

    
por 03.04.2018 / 18:42