Get current directory and run file in vbscript?

I am trying to check if IIS is installed and display a message and load exe into INstall IIS if IIS is not installed. However, it is difficult for me to work with the file without specifying the full path in the vb-script. The path will be dynamic, and it is not possible to specify any other directory than "% cd%

My code is:

If WScript.Arguments.length =0 Then
Set objShell = CreateObject("Shell.Application")

objShell.ShellExecute "wscript.exe", Chr(34) & _
WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
Else
Dim intCounter, strSubkey
Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."

Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\default:StdRegProv")

strKeyPath = "SOFTWARE\Microsoft"

objReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys

intCounter=0
For Each subkey In arrSubKeys
If subkey="InetStp" Then
 intCounter=1 or  strSubkey=subkey
End If

Next
currentDirectory = left(WScript.ScriptFullName, Len(WScript.ScriptFullName))-(len(WScript.ScriptName)))

if intCounter=0 then
Set WSHShell = CreateObject("Wscript.Shell")
WSHShell.Run ("\currentDirectory\noiisinstalled.exe") 
Elseif intCounter=1 then
Wscript.Echo "IIS is Already installed - " & strSubkey
End If
End if

The iisinstalled.exe file is working in my problem. No matter what I try, the script cannot find the file.

+5
source share
2 answers

You can get the current directory using Scripting.FileSystemObject. i.e

dim fso: set fso = CreateObject("Scripting.FileSystemObject")

' directory in which this script is currently running
CurrentDirectory = fso.GetAbsolutePathName(".")

to use this to create a new path, you can use the function BuildPath()

NewPath = fso.BuildPath(CurrentDirectory, "noiisinstalled.exe")
+8
source
Set WSHShell = CreateObject("Wscript.Shell")
sCurrentDirectory = WSHShell.CurrentDirectory & "\"
+1
source

All Articles