VB Script wechselt nach %SystemRoot%

03/01/2010 - 17:24 von Thomas Steinbach | Report spam
Hallo,

ich habe hier ein VBS Script aus den Elevation Tools [1], bei
dem ich _vor_ der Ausfuehrung von einer Batchdatei in das Verzeichnis
wechseln mag, aus welchem elevate mit der Batchdatei aufgerufen
wurde. btw: elevate liegt im Suchpfad.

Ich befinde mich z.B. in "C:\Program Files\My Prog" und fuehre

elevate.cmd mybatch.bat "hello world"

aus. Dann aber ist es so dass ich mich unter C:\Windows\System32
befinde, wenn meine Batchdatei ueber die elevate.vbs zur Ausfuehrung
kommt.
Ich benoetige es nun so dass ich eben in dem Verzeichnis verbleibe
bzw. zurueckkehre, aus dem meine Batch gestartet wird und wuerde
es begruessen, wenn ich nicht innerhalb der aufgerufenen Batchdatei
wechseln muss.
Wie kann man das umsetzen, bzw. wie muss ich elevate.vbs
anpassen, damit es so funktioniert wie ich es nun benoetige.

Bisher hatte ich probiert in elevate.cmd eine zusaetzliche Variable
in der Batch einzufueheren und mit

set ELEVATE_PATH=%CD%"

kann ich dann auch in der elevate.vbs ueber

strAppPath = objWshProcessEnv("ELEVATE_PATH")

das Verzeichnis ermitteln bzw. uebergeben. Allerdings hat ein folgendes:

objWshShell.CurrentDirectory = strAppPath

vor der Ausfuehrung von

objShell.ShellExecute strApplication, strArguments, "", "runas"

keinerlei Wirkung, bzw. zeigt mir eine aufgerufene Batchdatei
ueber %CD% noch das C:\Windows\System32 Verzeichnis an.

Das ist fuer mein Script aber unguenstig, da ich in meiner Batch
genau in dem Verzeichnis Operationen ausfuehren will, die dieses
betreffen, bzw. aus dem ich meine Batch aufrufe.

Hat hier jemand eine Idee wie es gehen koennte?

Ich weiss, es ist hier eine VB und nicht VBS Gruppe, aber hoffe
hier genuegend Nerds zu finden, die sich auch mit VBS gut
auskennen.

btw: gibt es eine IDE/Editor das sowas wie CodeCompletition
kennt. Also die Eingabe von WScript und einem Punkt zeigt
automatisch die moeglichen Methoden, Variablen, etc. an? Mit
der VB Express 2k8 oder der VS 2k8 Prof. geht es leider nicht.

Thomas

[1] http://technet.microsoft.com/en-us/...ation.aspx
(DE) http://technet.microsoft.com/de-de/...ation.aspx
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
17/01/2010 - 19:44 | Warnen spam
Hallo Thomas!

Am 03.01.2010 17:24, schrieb Thomas Steinbach:
ich habe hier ein VBS Script aus den Elevation Tools [1], bei
dem ich _vor_ der Ausfuehrung von einer Batchdatei in das Verzeichnis
wechseln mag, aus welchem elevate mit der Batchdatei aufgerufen
wurde. btw: elevate liegt im Suchpfad.



Solltest Du hier keine Antwort erhalten, versuche es in folgenden
Newsgroups:

'microsoft.public.de.german.scripting.wsh'
'microsoft.public.scripting.vbscript' (Englisch)

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen