Arquivo .bat não executado após conda ativar py 36
Aug 17 2020
Recebi um arquivo .bat contendo:
call C:\ProgramData\Anaconda3\Scripts\activate.bat
conda activate py36
python C:\Users\User\button5.py
conda deactivate
Se eu executá-lo diretamente da linha de comando, ele funciona, mas quando eu executo o arquivo .bat ele para após conda ativar o py36 sem nenhuma mensagem de erro.
Edit: Eu vejo agora o problema, quando o script é executado no prompt normal ele não funciona, ele funciona apenas no prompt de comando do admin. Mas quando executo o .bat como administrador, o prompt normal é iniciado. Como posso forçar a abertura com o cmd admin?
Respostas
1 WasifHasan Aug 16 2020 at 23:15
Sim, você pode fazer o arquivo em lote se elevar automaticamente:
goto="Batch" /*
:Admin
call C:\ProgramData\Anaconda3\Scripts\activate.bat
conda activate py36
python C:\Users\User\button5.py
conda deactivate
exit /b 0
:RunAsAdmin
color 4f & echo Running Admin Shell, Please wait.... & call cscript //nologo /e:JScript "%~f0" RunAsAdmin "%1" & exit /b
:"Batch"
@echo off & setlocal enabledelayedexpansion & cls
openfiles >nul 2>&1 || goto :RunAsAdmin
goto :Admin
:"JScript" */
function RunAsAdmin(self, arguments) { WSH.CreateObject('Shell.Application').ShellExecute(self, arguments, '', 'runas', 1) }
if (WSH.Arguments.length>=1 && WSH.Arguments(0)=='RunAsAdmin') RunAsAdmin(WSH.ScriptFullName,WSH.Arguments(1));
//
Ele verificará se há privilégios elevados e, se não apresentar, uma caixa de diálogo do UAC para solicitar privilégios administrativos. Outra maneira:
@echo off & powershell.exe -command "& {Start-Process cmd.exe -ArguemntList 'conda activate py36 & python C:\Users\User\button5.py & conda deactivate' -Verb RunAs}"
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino