Einfache Methode zum Ausführen eines Stapels als Administrator mit Javascript

Ich möchte eine einfache zuverlässige Methode zum automatischen Erhöhen eines laufenden Stapels ableiten, ohne zusätzliche VBS-Dateien oder Verknüpfungen zu verwenden, die in anderen Threads vorgeschlagen wurden. Der Aufruf des UAC-Dialogs aus dem Batch über Javascript stellt den kurzen, einfachen Code sicher.

Das folgende Skript erhöht einen Benutzer automatisch auf die richtigen Administratorrechte, wenn im Dialogfeld "Ja" ausgewählt wird, das Fehlerdialogfeld jedoch angezeigt wird (außerhalb des Cmd-Fensters). "Windows kann 'test.bat @ nicht find '". Kann es sein, dass der Pfad zur Datei Leerzeichen enthält? Wie kann der Code repariert oder dieses Fehler-Popup unterdrückt werden?

@echo off
:: test admin rights
>nul 2>&1 net file
echo '%errorlevel%'
MSHTA "javascript: var shell = new ActiveXObject('shell.application'); shell.ShellExecute("%~nx0", '', '', 'runas', 1);close();"
:: test admin rights
>nul 2>&1 net file
echo '%errorlevel%'
if !errorlevel! equ 0 echo Hello >%temp%\tst.txt
exit /b

Antworten auf die Frage(2)

Ihre Antwort auf die Frage