conda가 py36을 활성화 한 후 .bat 파일이 실행되지 않음

Aug 17 2020

다음을 포함하는 .bat 파일이 있습니다.

call C:\ProgramData\Anaconda3\Scripts\activate.bat
conda activate py36
python C:\Users\User\button5.py
conda deactivate

명령 줄에서 직접 실행하면 작동하지만 .bat 파일을 실행하면 conda가 오류 메시지없이 py36을 활성화 한 후 중지됩니다.

편집 : 이제 문제가 발생합니다. 스크립트가 일반 프롬프트에서 실행되면 작동하지 않으며 관리자 명령 프롬프트에서만 작동합니다. 그러나 관리자로 .bat를 실행하면 일반 프롬프트가 시작됩니다. admin cmd로 어떻게 강제로 열 수 있습니까?

답변

1 WasifHasan Aug 16 2020 at 23:15

예, 배치 파일을 자동으로 높일 수 있습니다.

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));
//

상승 된 권한을 확인하고,없는 경우 관리 권한을 묻는 UAC 대화 상자가 표시됩니다. 또 다른 방법:

@echo off & powershell.exe -command "& {Start-Process cmd.exe -ArguemntList 'conda activate py36 & python C:\Users\User\button5.py & conda deactivate' -Verb RunAs}"