上传文件至「/」

This commit is contained in:
2026-08-15 15:46:05 +08:00
commit 10d4784c33

126
Start-NoMachine.vbs Normal file
View File

@@ -0,0 +1,126 @@
Option Explicit
Const WINDOW_NORMAL = 1
Dim shell, fileSystem, processEnvironment
Dim profileRoot, nxRoot, roamingAppData, localAppData, tempDirectory
Dim installDirectory, executablePath, requiredDirectories
Dim index, launchResult, errorNumber, errorText
Dim arguments, argumentCount, launchCommand, launchMode, launchFile
Set shell = CreateObject("WScript.Shell")
Set fileSystem = CreateObject("Scripting.FileSystemObject")
Set arguments = WScript.Arguments
profileRoot = "C:\Users\Public\Documents\NoMachineProfile"
nxRoot = profileRoot & "\.nx"
roamingAppData = profileRoot & "\AppData\Roaming"
localAppData = profileRoot & "\AppData\Local"
tempDirectory = localAppData & "\Temp"
installDirectory = "C:\Program Files\NoMachine"
executablePath = installDirectory & "\bin\nxplayer.exe"
requiredDirectories = Array( _
profileRoot, _
nxRoot, _
nxRoot & "\config", _
nxRoot & "\cache", _
nxRoot & "\temp", _
nxRoot & "\devices", _
profileRoot & "\AppData", _
roamingAppData, _
localAppData, _
tempDirectory, _
profileRoot & "\AppData\LocalLow", _
profileRoot & "\Logs", _
profileRoot & "\Recordings", _
profileRoot & "\Sessions", _
profileRoot & "\Transfers" _
)
On Error Resume Next
For index = 0 To UBound(requiredDirectories)
If Not fileSystem.FolderExists(requiredDirectories(index)) Then
fileSystem.CreateFolder requiredDirectories(index)
End If
If Err.Number <> 0 Then
errorText = "Cannot create the NoMachine profile directory:" & vbCrLf & _
requiredDirectories(index) & vbCrLf & Err.Description
Err.Clear
On Error GoTo 0
MsgBox errorText, vbCritical, "NoMachine Launcher"
WScript.Quit 2
End If
Next
On Error GoTo 0
If Not fileSystem.FileExists(executablePath) Then
MsgBox "NoMachine executable not found:" & vbCrLf & executablePath, _
vbCritical, "NoMachine Launcher"
WScript.Quit 3
End If
If Not fileSystem.FileExists(nxRoot & "\config\player.cfg") Then
MsgBox "NoMachine configuration not found:" & vbCrLf & _
nxRoot & "\config\player.cfg", vbCritical, "NoMachine Launcher"
WScript.Quit 4
End If
argumentCount = arguments.Count
launchCommand = Chr(34) & executablePath & Chr(34)
If argumentCount = 2 Then
launchMode = LCase(arguments(0))
launchFile = arguments(1)
If launchMode <> "--session" And launchMode <> "--recording" Then
MsgBox "Unsupported NoMachine launch mode: " & launchMode, _
vbCritical, "NoMachine Launcher"
WScript.Quit 6
End If
If InStr(launchFile, Chr(34)) > 0 Or Not fileSystem.FileExists(launchFile) Then
MsgBox "NoMachine input file not found or invalid:" & vbCrLf & launchFile, _
vbCritical, "NoMachine Launcher"
WScript.Quit 7
End If
launchCommand = launchCommand & " " & launchMode & " " & _
Chr(34) & launchFile & Chr(34)
ElseIf argumentCount <> 0 Then
MsgBox "Unsupported NoMachine launcher arguments.", _
vbCritical, "NoMachine Launcher"
WScript.Quit 8
End If
Set processEnvironment = shell.Environment("PROCESS")
processEnvironment("HOME") = profileRoot
processEnvironment("USERPROFILE") = profileRoot
processEnvironment("HOMEDRIVE") = "C:"
processEnvironment("HOMEPATH") = "\Users\Public\Documents\NoMachineProfile"
processEnvironment("APPDATA") = roamingAppData
processEnvironment("LOCALAPPDATA") = localAppData
processEnvironment("TEMP") = tempDirectory
processEnvironment("TMP") = tempDirectory
processEnvironment("NX_HOME") = profileRoot
processEnvironment("NX_CONFIG") = nxRoot
processEnvironment("NX_ROOT") = nxRoot
processEnvironment("NX_TEMP") = nxRoot & "\temp"
processEnvironment("NX_SYSTEM") = installDirectory
shell.CurrentDirectory = installDirectory & "\bin"
On Error Resume Next
launchResult = shell.Run(launchCommand, WINDOW_NORMAL, False)
errorNumber = Err.Number
errorText = Err.Description
On Error GoTo 0
If errorNumber <> 0 Then
MsgBox "NoMachine could not be started." & vbCrLf & errorText, _
vbCritical, "NoMachine Launcher"
WScript.Quit 5
End If
WScript.Quit 0