reg add salva valor incorreto para associação de arquivos

0

Executar a partir do Admin este código funciona no Windows XP.

set app=ExtrNS.exe
set nam=ExtrNS@
REG ADD "HKLM\SOFTWARE\Classes\Directory\shell\%nam%\command" /v "" /t REG_SZ /d """"%CD%\ExtrNS.exe""" """%%1"" /f

No Windows 7, o resultado não é o diretório inicial, mas "C:\Windows\ExtrNS.exe" "%1"

    
por soft0nut 25.07.2015 / 01:58

1 resposta

0

O resultado não é o diretório base, mas é "C: \ Windows \ ExtrNS.exe" "% 1"

%CD% tem o valor do diretório atual, que será o diretório de onde o arquivo em lote será executado.

Se você quiser o "Diretório base" do usuário, use %UserProfile% em vez de %CD% .

Por casa eu quis dizer onde o arquivo .exe não é o diretório home do usuário

A maneira mais fácil de fazer isso é incluir o caminho do arquivo .exe como parte da variável app :

set app=c:\path_to_appp\ExtrNS.exe
  • Altere path_to_app conforme apropriado para o seu computador.
  • Remova %CD%\ , pois agora não é necessário.

Variáveis de ambiente padrão (internas)

  • CD - O diretório atual (string).

  • USERPROFILE -% SystemDrive% \ Users \ {nome de usuário}

    Isso é equivalente à variável de ambiente $ HOME no Unix / Linux

Fonte Variáveis de ambiente do Windows

Leitura Adicional

por 25.07.2015 / 02:38