' startFiji.vbs
' Verbindet ein Netzlaufwerk und startet Fiji.
' Author: Michael Entrup
' Datum: 19.12.2013
' Version: 1.0
' ==============================
' V1.0
' - Dieses Skript basiert auf workWithImperia.vbs
' - Details zur Methode run: http://msdn.microsoft.com/en-us/library/d5fk67ky%28v=vs.84%29.aspx
' - Details zum 32Bit/64Bit Check: http://stackoverflow.com/questions/556283/how-do-i-check-if-wscript-cscript-runs-on-x64-host-os
'
Option Explicit
Function Is64BitOS()
Is64BitOS = Not(Is32BitOS())
End Function
Function Is32BitOS()
Const sRegKey = "HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0"
Const sIdentifierValue = "Identifier"
Const sPlatformIDValue = "Platform ID"
Dim oSh : Set oSh = CreateObject("WScript.Shell")
Dim sIdentifier, nPlatformID
sIdentifier = oSh.RegRead(sRegKey & "\" & sIdentifierValue)
nPlatformID = oSh.RegRead(sRegKey & "\" & sPlatformIDValue)
Set oSh = Nothing
If InStr(sIdentifier, "x86") > 0 And nPlatformID = 32 Then
Is32BitOS = True
Else
Is32BitOS = False
End if
End Function
Dim FSO, Network, WS
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
Set Network = WScript.CreateObject("WScript.Network")
set WS = CreateObject("Wscript.shell")
Dim path, letter
path = "\\Server\Freigabe\PortableApps\Fiji.app"
letter = InputBox("Bitte einen Laufwerksbuchstaben für das Netzlaufwerk eingeben (ohne Doppelpunkt):", "Laufwerksbuchstabe")
If Len(letter) = 1 Then
If FSO.FolderExists(letter&":") = False Then
Network.MapNetworkDrive letter & ":", path
If Is64BitOS() Then
WS.run letter&":\ImageJ-win64.exe", 3, True
Else
WS.run letter&":\ImageJ-win32.exe", 3, True
End If
Network.RemoveNetworkDrive letter & ":", false
Else
WScript.Echo "Das Laufwerk "&letter&": wird schon verwendet!"
End If
Else
WScript.Echo "Es darf nur ein Buchstabe eingegeben werden."
End If