Запуск bat файла из python

Рейтинг: 0Ответов: 1Опубликовано: 28.03.2023

У меня есть метод, который делает проверку на админку. Но когда я запускаю программу, то выдает ошибку:

'Class' is not recognized as an internal or external command,
operable program or batch file.

Код:

def run_as_admin(self, cmd):
    try:
        # Если мы не являемся администратором, то запускаем с правами администратора
        if not ctypes.windll.shell32.IsUserAnAdmin():
            # Собираем команду, чтобы запустить с правами администратора
            cmd = 'powershell.exe Start-Process "' + cmd + '" -Verb runAs'
            subprocess.call(cmd, shell=True)
            return True
        # Если мы уже являемся администратором, то просто запускаем файл
        else:
            subprocess.call(cmd)
            return True
    except Exception as e:
        print(e)
        return False

def buttonDSDel(self):
    self.run_as_admin('Class/DelSoft/DiscordDel.bat')

bat file

@echo off
taskkill /f /im Discord.exe
ping 127.0.0.1 -n 2 > nul
cd %appdata%
rmdir /s /q Discord
rmdir /s /q discordptb
rmdir /s /q discordcanary

Ответы

▲ 0Принят

операционная система не может найти файл или команду с названием "Class"

Попробуйте изменить вызов subprocess.call

subprocess.call(["powershell.exe", "Start-Process", cmd, "-Verb", "runAs"], shell=True)