Führen die Batch-datei als Administrator aus
- Erstellen Sie eine Verknüpfung der Batch-Datei, um sie als Administrator auszuführen
- Codieren Sie eine Batch-Datei, die als Administrator ausgeführt werden soll
- Abschluss
Eine Batch-Datei besteht aus Befehlen, die von der Eingabeaufforderung ausgeführt werden. Einige dieser Befehle werden nicht ohne Administratorrechte ausgeführt; Daher ist es wichtig, eine Batch-Datei als Administrator auszuführen.
Manuell können Sie die Batch-Datei als Administrator ausführen, indem Sie mit der rechten Maustaste auf die Batch-Datei klicken, die Sie ausführen möchten, und Als Administrator ausführen auswählen.
Anstatt es jedes Mal manuell zu tun, können Sie es auch automatisch als Administrator ausführen lassen, indem Sie einfach etwas Code am Anfang Ihrer Batch-Datei hinzufügen.
Alternativ können Sie auch eine Verknüpfung erstellen und sie im Eigenschaftenfenster so einstellen, dass sie als Administrator ausgeführt wird. Jedes Mal, wenn Sie auf die Batch-Datei doppelklicken, wird sie als Administrator ausgeführt.
Es gibt viele Möglichkeiten, die Batch-Datei automatisch als Administrator auszuführen. In diesem Tutorial werden verschiedene Möglichkeiten zum Ausführen einer Batchdatei als Administrator veranschaulicht.
Erstellen Sie eine Verknüpfung der Batch-Datei, um sie als Administrator auszuführen
Eine einfache Möglichkeit, eine Batch-Datei im Administratormodus auszuführen, besteht darin, eine Verknüpfung zu erstellen und sie so einzurichten, dass sie immer als Administrator ausgeführt wird. Klicken Sie mit der rechten Maustaste auf die Batch-Datei und klicken Sie auf Verknüpfung erstellen
, um eine Verknüpfung zu erstellen.
Auf dem Desktop wird eine Verknüpfungsdatei erstellt. Gehen Sie zum Eigenschaftenfenster der Verknüpfungsdatei, indem Sie mit der rechten Maustaste darauf klicken.
Klicken Sie auf der Registerkarte Verknüpfung auf Erweitert und aktivieren Sie das Kontrollkästchen Als Administrator ausführen.
Das ist alles, und die Verknüpfung wurde so eingestellt, dass sie immer im Admin-Modus ausgeführt wird. Wenn Sie auf die Verknüpfungsdatei doppelklicken, wird ein UAC-Fenster zur Bestätigung angezeigt.
Wenn Sie die obige Methode anwenden, ändert sich das aktuelle Verzeichnis der Batch-Datei; Dies kann zu Fehlern führen oder Ihre Datei wird möglicherweise nicht ausgeführt. Fügen Sie einfach die folgenden Zeilen oben in Ihrer Batch-Datei hinzu, um dies zu vermeiden.
@setlocal enableextensions
@cd /d "%~dp0"
Beispiel:
@echo off
@setlocal enableextensions
@cd /d "%~dp0"
::START OF THE PROGRAM::
echo "Check the system's energy efficiency"
powercfg-energy
Der obige Code ändert das aktuelle Verzeichnis in den Speicherort der Batch-Datei.
Ausgang:
Codieren Sie eine Batch-Datei, die als Administrator ausgeführt werden soll
Verwenden Sie den Befehl runas
, um die Batch-Datei als Administrator auszuführen
Wenn die Batch-Datei eine bestimmte Zeile oder eine Reihe von Zeilen enthält, die Administratorrechte erfordern, können Sie den Befehl runas
verwenden, um eine bestimmte Zeile im Administratormodus auszuführen.
@echo off
echo "Check the system's energy efficiency"
runas /user:sid "cmd /k ipconfig"
Ausgang:
oder
@echo off
@setlocal enableextensions
@cd /d "%~dp0"
echo "Check the system's energy efficiency"
runas /user:sid "notepad C:\Users\sid\Desktop\testfile.bat"
Der obige Code führt die Batch-Datei unter einem Administratorbenutzer aus. Geben Sie das Passwort ein, wenn Sie dazu aufgefordert werden.
Sie können auch /savecred
verwenden, um das Passwort zu speichern und es beim nächsten Ausführen der Batch-Datei zu verwenden. Sie müssen das Passwort nur einmal eingeben.
Ausgang:
Erstellen Sie eine VBS-Datei, um die Batch-Datei als Administrator auszuführen
Durch das Erstellen einer Verknüpfung zur Batch-Datei wurde auch das aktuelle Arbeitsverzeichnis geändert.
Sie können stattdessen den folgenden Code oben in Ihrer Batch-Datei hinzufügen. Dadurch wird die Batch-Datei im Administratormodus ausgeführt und bleibt im selben Verzeichnis.
set "params=%*"
cd /d "%~dp0" && ( if exist "%temp%\adminmode.vbs" del "%temp%\adminmode.vbs" ) && fsutil dirty query %systemdrive% 1>nul 2>nul || ( echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && %~s0 %params%", "", "runas", 1 >> "%temp%\adminmode.vbs" && "%temp%\adminmode.vbs" && exit /B )
Beispiel:
set "params=%*"
cd /d "%~dp0" && ( if exist "%temp%\adminmode.vbs" del "%temp%\adminmode.vbs" ) && fsutil dirty query %systemdrive% 1>nul 2>nul || ( echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && %~s0 %params%", "", "runas", 1 >> "%temp%\adminmode.vbs" && "%temp%\adminmode.vbs" && exit /B )
echo "Check the system's energy efficiency"
powercfg -energy
Der obige Code überprüft, ob die Datei im Administratormodus ausgeführt wird. Wenn nicht, erstellt es eine VBS-Datei adminmode.vbs
, die dann die Batch-Datei im Administratormodus mit dem Parameter runas
erneut ausführt.
Um auf die Batch-Datei zuzugreifen, haben wir cd /d "%~dp0"
verwendet, wobei:
d
- wird zum Laufwerksbuchstaben erweitertp
- erweitert den Pfad0
- erweitert auf den vollständigen Pfad
Das %~dp0
ändert das aktuelle Verzeichnis in das Verzeichnis der Batch-Datei. Wenn Sie die Batch-Datei ausführen, wird sie als Administrator ausgeführt, indem die UAC-Eingabeaufforderung zur Bestätigung angezeigt wird.
Ausgang:
Abschluss
Wir haben also zwei verschiedene Möglichkeiten besprochen, eine Batch-Datei als Administrator auszuführen.
Außerdem gibt es andere Möglichkeiten, eine Batch-Datei im Administratormodus auszuführen, z. B. die Verwendung des Elevate-Dienstprogramms, die Konvertierung der Batch-Datei in .exe
oder die Installation des Befehls sudo
. Aber die oben genannten Methoden sind einfach zu implementieren, auch wenn Sie ein Anfänger sind.