Miljøvariabler og stier med mellemrum?
Hej.Jeg oplever et lidt mærkeligt problem med et lille script (en del af et lidt større script), som skal tjekke om en process kører lokalt på en maskine.
Jeg tjekker forskellige ting med hensyn til om processen kører og hvis den ikke gør dette skal den jo startes via .exe filen.
.exe filen er placeret i C:\Program Files\Mappe\Mappe\filnavn.exe, eller i C:\Programmer\Mappe\Mappe\filnavn.exe hvis der er tale om et dansk OS.
Den del af scriptet, der fejler ser således ud:
MsgBox StartAvgCC()
' ************************************************************************
' StartAvgCC() - Starter AvgCC.exe
' ************************************************************************
Function StartAvgCC()
On Error Resume Next
Dim objFSO, filePath, objShell, bolSuccess
Set objFSO = CreateObject("Scripting.FileSystemObject")
filePath = "%PROGRAMFILES%\Grisoft\AVG7\avgcc.exe"
MsgBox filePath
If objFSO.FileExists(filePath) Then
Set objShell = CreateObject("Wscript.Shell")
objShell.Run(filePath), 0, True
Set objShell = Nothing
If Err <> 0 Then
bolSuccess = False
Else
bolSuccess = True
End If
End If
StartAvgCC = bolSuccess
End Function
Scriptet fejler i en større sammenhæng og melder at stien til filen ikke eksisterer.
Hvis jeg benytter filePath = "C:\Windows\Notepad.exe" åbnes Notepad uden problemer.
Jeg har også forsøgt at placere andre filer i den givne mappe under \Program Files\, men lige lidt hjælper det.
Har også prøvet med den absolutte sti filePath = "C:\Program Files\Mappew\Mappe\filnavn.exe", men det giver samme fejl.
Er det fordi der er mellemrum i \Program Files\?
Benytter jeg miljøvariabler forkert i mit script?
Det virker som sagt fint med absolutte stier, hvis jeg ikke forsøger med \Program Files\ mappen, eller undermapper i denne mappe.
Enhver ledetråd vil blive modtaget med kyshånd!