Por que eu tenho que importar o arquivo .reg do RegEdit no Win7 e não do arquivo .bat?

3

Eu tenho um arquivo .bat que faz uma chamada para um arquivo .reg (algo como: regedit mytest.reg). Eu corro o arquivo .bat como administrador, mas eu recebo um erro: "Não é possível importar mytest.reg: Erro ao abrir o arquivo. Pode haver um erro de disco ou sistema de arquivos."

No entanto, se eu abrir o RegEdit (como administrador) primeiro, clique em Arquivo > > Importar > > mytest.reg ... ele é executado com sucesso.

Alguma idéia?

    
por Brian T Hannan 04.01.2011 / 23:04

8 respostas

2

Tive o mesmo problema. Depois que você aceitar a execução sob permissões elevadas, a "raiz" da sessão elevada não terá o mesmo local relativo para o comando real.

Se você especificar um endereço absoluto para o arquivo, ele deverá funcionar.

Agora, a pergunta $ .42 ... qual é o diretório atual da sessão elevada em que o comando está sendo executado?

    
por 08.02.2012 / 18:53
1

O arquivo .reg está em um volume de rede? Os administradores locais normalmente não podem ler arquivos de uma rede.

    
por 04.01.2011 / 23:08
1

Funciona para mim em um teste simples, mas eu tenho que responder aos prompts relacionados ao UAC quando o batchfile é executado.

Você personalizou suas configurações do UAC? Talvez quando você executar o arquivo em lote as coisas estão configuradas para não elevar (ou até mesmo pedir para elevar), então ele falhará.

Mas regedit eleva quando carrega (independentemente das configurações do UAC, eu acho).

    
por 04.01.2011 / 23:23
1

Eu tive exatamente o mesmo problema e mensagem de erro .. Eu não pude obter o meu arquivo REG para o meu arquivo de lote na minha máquina de 64 bits do Win7 Pro. Finalmente consegui que funcionasse colocando marcas de divisão ao redor do arquivo REG. (EXEMPLO)

c: \ windows \ regedit.exe / s "C: \ Windows \ Ativar Script.reg de Login do DTS"

Espero que isso seja útil

    
por 04.04.2013 / 23:50
0

tente usar a opção / C "regedit / C myfile.reg"

    
por 04.01.2011 / 23:12
0

Tente isso em um prompt CMD elevado:

reg import file.reg
    
por 27.05.2011 / 10:52
0

Não parece funcionar com o caminho relativo como outros sugeriram.

Isso é o que funcionou para mim:

Basta adicionar %~dp0 na frente do nome do arquivo e ele usará o caminho direto para o arquivo em lote. Portanto, contanto que o arquivo .reg esteja na mesma pasta que o arquivo de lote, você está pronto para usar.

Por exemplo, regedit.exe /s %~dp0registryfile.reg

    
por 19.06.2014 / 21:34
0

Não parece funcionar com o caminho relativo como outros sugeriram.

Isso é o que funcionou para mim:

Basta adicionar %~dp0 na frente do nome do arquivo e ele preencherá o caminho direto para o arquivo em lote. Portanto, contanto que o arquivo .reg esteja na mesma pasta que o arquivo em lote, é bom ir.

Por exemplo:

regedit.exe /s %~dp0registryfile.reg
    
por 26.08.2014 / 08:37