gigagaga
Goto Top

syntax problem

Hi,
ich versuche folgenden aufruf über vbscript aufzurufen, leider funzt das so nicht

run("%COMSPEC% /C ""c:\Programme\cisco Systems\Install\certmgr.exe -add %ProgramFiles%\Cisco Systems\Install\xx-CA00.cer -s -r localMachine root""")

weis hier jemand rat?

Gruß
Gigagaga

Content-Key: 72728

Url: https://administrator.de/contentid/72728

Ausgedruckt am: 29.03.2024 um 07:03 Uhr

Mitglied: Biber
Biber 05.11.2007 um 12:26:31 Uhr
Goto Top
Moin gigagaga,

die Umgebungsvariablen musst Du in VBS so ermitteln:
...
Set Shell = createobject("wscript.shell")  
Set envProcess = Shell.Environment("Process")  
strComspec = envProcess("COMSPEC")  

WScript.echo "%COMSPEC% ist " & strComSpec   

Grüße
Biber
Mitglied: pacobay
pacobay 05.11.2007 um 17:29:53 Uhr
Goto Top
hallo gigagaga,

Was Biber da sagt stimmt völlig nur wirst du möglicherweise dennnoch Probleme mit der Maskierung (wo wieviele Hochkommas) bekommen. Mich treibt das zumindest immer in den Wahnsinn.
Daher habe ich mir angewöhnt Übergaben vorher in einem String zusammenzusetzen und dann erst aufzurufen.

Um Die solchen manchmal nicht enden wollende Frust zu ersparen habe ich eine vorhandene Funktion ein Wenig auf deine Bedürfnisse umgeschrieben.

Aber ich habe keine Peilung von Ciscoaufrufen!

Ich gehe jedoch davon aus, dass der sinngemäße Aufruf sein sollte

C:\WINDOWS\system32\cmd.exe /c c:\Programme\cisco Systems\Install\certmgr.exe -add C:\Programme\Cisco Systems\Install\xx-CA00.cer -s -r localMachine root

Unter der Annahme:
ComSpec=C:\WINDOWS\system32\cmd.exe
ProgramFiles=C:\Programme
In der Funktion verwende ich natürlich die entspechenden Variablen

Wenn das so ist dann dürfte das ding laufen

ciao pacobay
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  

' VB Script Document  
option explicit

Function CallxxCer

'Deklaration  

Dim WshShell , strComspec, strProgramFiles, strRunCmd, BtnCode

'Objekt  
set WshShell = WScript.CreateObject("WScript.Shell")  

'setzen + echo der Variablen strComspec  
strComspec = WshShell.ExpandEnvironmentStrings("%COMSPEC%")  
WScript.echo "%COMSPEC% is: " & strComspec  

'setzen + echo der Variablen strProgramFiles  
strProgramFiles = WshShell.ExpandEnvironmentStrings("%ProgramFiles%")  
WScript.echo "%ProgramFiles% is: " & strProgramFiles  

'zusammensetzen des Übergabestrings an Wscript.run  

strRunCmd = """" & strComspec & " /C" & " c:\Programme\cisco Systems\Install\certmgr.exe -add " & strProgramFiles & "\Cisco Systems\Install\xx-CA00.cer -s -r localMachine root" &""""  

'modale Abfrage ob durchgeführt werden soll  

BtnCode = WshShell.Popup("Ich werde nun die folgenden Befehl ausführen:" & chr(13) & chr(13) & "WshShell.run(strRunCmd)"& chr(13) & chr(13) & "Wobei die Variable strRunCmd den folgenden Inhalt hat:" & chr(13) & chr(13) & strRunCmd, 0, "Soll ich das machen?    ", 4 + 32 +4096)  

Select Case BtnCode
   case 6      WshShell.run(strRunCmd) 					' do it wenn ja geklickt'  
   case 7      WScript.Echo "Dann halt nicht."  ' echo und ende bei nein   
End Select

End function 'CallxxCer  

CallxxCer   'Funktionsaufruf'  

' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  


[Edit Biber] pacobays Code in -Tags gesetzt. [/Edit]