
Espero que alguém possa ajudar com esse problema. SO Win10 x64.
Preciso copiar um arquivo XPI (extensão Firefox) para uma subpasta Arquivos de Programas (não x86). Se eu fizer um arquivo bat simples e executá-lo como administrador clicando com o botão direito, mkdir funciona bem, mas a operação de cópia não funciona. Em vez disso, se eu abrir o cmd como administrador e executar a operação de cópia a partir daí, tanto a operação mkdir quanto a operação de cópia funcionarão conforme o esperado.
Preciso chamar o BAT de um software de terceiros com privilégios elevados, portanto, se eu conseguir resolver o primeiro cenário, conseguirei resolver meu problema. Qualquer ajuda ou explicação é muito apreciada. O código é muito simples:
mkdir "C:\Program Files\Mozilla Firefox\distribution\extensions"
copy file.xpi "C:\Program Files\Mozilla Firefox\distribution\extensions"
Desde já, obrigado.
Responder1
Tente usar xcopy em vez de copy.
Alternativamente, você já pensou em usar o PowerShell?
É muito mais poderoso e você pode especificar credenciais para umprocesso. Você também pode ignorar a política de execução com o Powershell.
Set-Executionpolicy Bypass -Scope Process -Force
Então você pode copiar o programa no PowerShell usando
xcopy /q <source> <destination>
Se isso não funcionar, tente colocar o comando xcopy em um comando powershell Start-Process. Algo como...
Start-Process -FilePath "c:\Windows\System32\xcopy.exe" -ArgumentList "file.xpi C:\Program Files\Mozilla Firefox\distribution\extensions\" -Credential domain\user
Alternativamente, domínio\usuário seria nomedocomputador\usuário
Observe que Start-Process também possui a opção -Wait, que aguarda a conclusão do processo.