v1.0
process
System allows you to run operating system commands, programs or
batch files. It is usually used along with the XSIApplication.Platform
property in order to achieve maximum portability. XSIApplication.InstallationPath
can also be used to minimize usage of hard coded paths.
Your programs and batch files can use the standard exit command to
return a value (for example, 'exit(1)' in C/C++, 'exit 1' in shell
programing (Unix) or 'exit /b 1' on Windows XP batch files).
Operating system commands usually return 0 for success or any other
value for errors. Please consult your OS vendor's documentation for
more details.
Note: This command uses output
arguments. C# and some scripting languages (such as JScript,
PerlScript and Python) don't support arguments passed by reference.
However, the return value also provides the output argument.
oDouble = System( Pathname, [Value] ); |
The return value of the executed command, program or batch file as a Double. This value can be used as a means to transmit information from your batch files or custom built applications to Softimage.
Parameter | Type | Description |
---|---|---|
Pathname | String | Command to be executed.
Default Value: none |
Value | Double | This optional parameter is equivalent to the return value. It is provided for backward-compatibility only. |
' Creates a text file with the content of the project directory Dim cmdResult ' result of the command line operation Dim cmd ' command to execute Dim destinationPath ' destination path for the created file Dim sourcePath ' path of the directory used to create the file ' source = project path sourcePath = Application.InstallationPath( siProjectPath ) ' output in the user path destinationPath = Application.InstallationPath( siUserPath ) ' create the command line depending on the current platform Select Case Application.Platform ' Windows Case "Win32" cmd = "dir " & sourcePath & " > " & destinationPath & "\content.log" ' Linux Case Else cmd = "ls " & sourcePath & " > " & destinationPath & "/content.log" End Select ' run the constructed command cmdResult = system( cmd ) ' Check if everything went fine If cmdResult = 0 Then LogMessage "Success" Else LogMessage "Failure" End If |
' Running an application through Softimage Dim customApplication ' the application or batch file to run Dim customApplicationParam ' parameters to pass to your application Dim appResult ' the return code of your application '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Set the custom application to run. Put your application ' path here. You could use the Application.InstallationPath ' property along with the Application.Platform property to make ' your code work on any possible user configurations. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' customApplication = "notepad.exe" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Set the parameters to pass to your custom application. This can ' be nothing if none are required. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ApplicationParam = "c:/content.log" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' execute the application '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' appResult = System( customApplication & " " & ApplicationParam ) '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Perform actions according to the return value of the application ' The values below must be customised according to the application ' or the batch file that ran. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Select Case appResult Case 0 LogMessage "Wonderful!" Case 1 LogMessage "Error case when 1 is returned" Case 2 LogMessage "Error case when 2 is returned" Case Else LogMessage "Any other error case" End Select |