.bat файл не запускается после активации conda py36
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}"