Das Problem bei Befehlen für die Konsole ist die korrekte Einbettung in Anführungszeichen. Da Parameter dort zusätzliche Anführungszeichen enthalten können, ist es am Einfachsten die Strings zu splitten und erst beim Aufruf zusammenzuführen.
Probier mal so:
AutoIt
Func Yadis()
If WinExists("[CLASS:VMwareUnityHostWndClass]") Then
Sleep(50000)
Call("Yadis")
Else
MsgBox(0,"","Yadis ist nicht aktiv")
;~ Run("C:\vmware.bat")
$sPathVMRun = 'C:\Program Files (x86)\VMware\VMware VIX\vmrun.exe'
$sParam = ' -T player stop "D:\Windows 8 VM\Windows 8 x64.vmx"'
Run(@ComSpec & " /c " & $sPathVMRun & $sParam, "", @SW_HIDE)
EndIf
EndFunc
Alles anzeigen