Durante o desenvolvimento do meu produto, meu dispositivo de teste possui várias versões do aplicativo instaladas ao mesmo tempo. No entanto, para obter os caminhos absolutos que meu aplicativo está usando para funcionar, preciso mudar ou renomear as pastas para que a versão que eu quero testar tenha o caminho certo, digamos C:\Program Files\My Company\My App\My App.exe
. Fiz um atalho que tem como alvo esse caminho, mas se esse atalho for aberto quando nenhuma das versões tiver esse caminho, o atalho será atualizado automaticamente, pensando que o arquivo foi movido permanentemente. Isso causou falhas silenciosas até eu descobrir o que estava acontecendo. Eu não sabia que esse era um recurso dos atalhos do Windows até agora.
Então, minha pergunta é simples. Existe alguma maneira de desativar esse recurso? Globalmente, é bom, mas uma solução por atalho seria melhor.
Usar um arquivo em lotes em vez de um atalho é uma solução, mas estou me perguntando se há alguma maneira de fazer isso funcionar enquanto ainda estiver usando um atalho.
Estou usando o Windows 10 Home e o Windows 7 Home.
.bat
) com um comando simples, por exemplostart "" "C:\path\to\file.exe"
.mklink
comando) em vez de um.lnk
arquivo? Ou eles também são atualizados?Respostas:
Você pode usar o PowerShell! Esse pequeno script afeta o arquivo LNK para produzir o mesmo efeito que o uso do
shortcut
utilitário clássico .Para usá-lo, salve esse texto como um
.ps1
arquivo, por exemplonotrack.ps1
. Se você ainda não o fez, siga as instruções na seção Habilitando scripts do wiki de tags do PowerShell . Em seguida, você pode executá-lo em um prompt do PowerShell:Os atalhos ajustados dessa maneira não serão alterados quando o alvo for movido. Se um atalho como esse for quebrado, nada acontecerá quando você tentar abri-lo.
Reuni a matemática binária usada no meu script deste PDF da Microsoft de 48 páginas no formato LNK .
fonte
Pare e desative o serviço: Cliente de rastreamento de link distribuído (TrkWks).
fonte
Use o
shortcut.exe
comando Opção-s
:fonte
Você pode habilitar o seguinte GPO:
Configuração do Usuário \ Modelos Administrativos \ Menu Iniciar e Barra de Tarefas \ Não use o método baseado em pesquisa ao resolver atalhos de shell
chave de registro correspondente:
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoResolveSearch
Configuração do Usuário \ Modelos Administrativos \ Menu Iniciar e Barra de Tarefas \ Não use o método baseado em rastreamento ao resolver atalhos de shell
chave de registro correspondente:
Configuração do Usuário \ Modelos Administrativos \ Componentes do Windows \ Explorador de Arquivos \ Não rastrear atalhos de shell durante o roaming
chave de registro correspondente:
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\LinkResolveIgnoreLinkInfo
fonte