File .bat tidak dijalankan setelah conda mengaktifkan py36

Aug 17 2020

Saya mendapat file .bat yang berisi:

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

Jika saya menjalankannya langsung dari baris perintah, itu berfungsi, tetapi ketika saya menjalankan file .bat itu berhenti setelah conda mengaktifkan py36 tanpa pesan kesalahan.

Sunting: Saya melihat sekarang masalahnya, ketika skrip dijalankan dalam prompt normal itu tidak berfungsi, itu hanya berfungsi di prompt perintah admin. Tetapi ketika saya menjalankan .bat sebagai admin, prompt normal dimulai. Bagaimana saya bisa memaksanya untuk membuka dengan admin cmd?

Jawaban

1 WasifHasan Aug 16 2020 at 23:15

Ya, Anda dapat membuat peningkatan otomatis file batch:

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

Ini akan memeriksa hak yang ditinggikan, dan jika tidak menampilkan dialog UAC untuk meminta hak akses administratif. Cara lain:

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