Batch "Als Administrator ausführen" anderes verhalten als normaler user

Valkosh

Ensign
Registriert
Juli 2006
Beiträge
196
Hallo Leute,

Denke es ist ein simples Problem, jedoch blick ich im Augenblick nicht wirklich durch.
Die Suchmaschine habe ich angeworfen, jedoch fehlen mir wohl die richtigen Suchbegriffe da ich nicht wirklich viel mit Batch mache. :-)

Ich möchte ein Batchfile im übergeordneten Ordner öffnen.
Dies klappt auch, doch sobald man das File mit "Rechtsklick -> Als Administrator ausführen" startet, wird der Pfad nicht gefunden.

Code:
-Ordner1
    -Batchfile1.bat
    -Ordner2
        -Batchfile2.bat

Batchfile2 soll nach dem fertigstellen der Aufgabe Batchfile1 aufrufen.

Dies mache ich mit:
Code:
Call ..\Batchfile1.bat

Mit Doppelklick klappt es, mit "Als Administrator ausführen" klappt es nicht.
Da in Batchfile2.bat regedit gestartet wird, benötige ich Adminrechte.

Kann mir jemand da bitte weiterhelfen? Rufe ich das Batchfile eventuell falsch auf?

Dankeschön für die Hilfe!

Habe es mal hochgeladen:
https://rapidshare.com/files/1492989605/Ordner1.zip
 
Zuletzt bearbeitet:
Wenn sich dein Batch2 sofort wieder schließt, könntest du mal ans Ende "PAUSE" einfügen um zu schauen, ob und welche Fehlermeldung beim Aufruf von Batch1 erscheint.

Ebenso könntest du mal statt "CALL" ein "START" probieren, d.h. "START ..\Batch1.bat"
 
Dann bekomme ich:

Code:
Der Befehl "..\Batchfile1.bat" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

Mit START kommt der gleiche Fehler einfach als Errorbox

mit CALL ist es halt eleganter gelöst da sich kein neues Fenster öffnet.
 
Zuletzt bearbeitet:
bei Verwendung von Pause oder Start?

EDIT: bin aber gerade verwirrt, heißt die Datei nun "Batch1.bat" oder "Batchfile1.bat" ? In deiner Beschreibung verwendest du beide Namen, also welcher ist nun der Richtige?
 
Ja, ich korrigers gleich.

Es geht mir um das Verständnis, der Dateiname spielt keine Rolle. Aufgerufen wird das richtige File:-)
Ergänzung ()

Ok, nun klappt es. Habe es wie folgt gemacht:

Ich habe in dem Unterordner ein neues Batchfile erstellt, welches ich am Ende von Batchfile1.bat aufrufe.

Inhalt redirect.bat

..\Batchfile1.bat

So klappt es ohne Fehler mit und ohne Admin.

Danke für die Hilfe :-)
 
Das Problem besteht darin, dass bei einem Aufruf per Doppelklick das Arbeitsverzeichnis gleich dem Verzeichnis ist, in dem sich das Skript selbst befindet.
Bei einem Aufruf als Administrator ist das aktuelle Arbeitsverzeichnis gleich dem Systemverzeichnis von Windows (zB: \Windows\system32). Und da relative Pfade immer vom aktuellen Arbeitsverzeichnis aus aufgelöst werden, wird dein anderes Skript nicht gefunden.
Das kannst du ganz einfach nachvollziehen, wenn du dir die Variable %cd% ausgeben lässt:
HTML:
@echo off
echo Aktuelles Arbeitsverzeichnis: %cd%
pause
 
Hi,

Ahh nun ist es ja klar :-) Danke für die Hilfe!
 
Zurück
Oben