#-Begin-----------------------------------------------------------------
Param(
[String]$Arguments
)
#-Function CallScript---------------------------------------------------
Function CallScript {
Param(
[String]$Interpreter,
[String]$ScriptFile
)
[System.Diagnostics.ProcessStartInfo]$startInfo = `
[System.Diagnostics.ProcessStartInfo]::new();
$startInfo.FileName = $Interpreter;
$startInfo.Arguments = "$($ScriptFile) $($Arguments)";
$startInfo.UseShellExecute = $False;
$startInfo.CreateNoWindow = $True;
$startInfo.RedirectStandardOutput = $True;
$startInfo.RedirectStandardError = $True;
[System.Diagnostics.Process]$Proc = `
[System.Diagnostics.Process]::new();
$Proc.StartInfo = $startInfo;
If($Proc.Start() -eq $False) {
Return;
}
[System.IO.StreamReader]$stdOut = $Proc.StandardOutput;
[System.IO.StreamReader]$stdErr = $Proc.StandardError;
If(($Null -eq $stdOut) -or ($Null -eq $stdErr)) {
Return;
}
$Result = $stdOut.ReadToEnd();
If($Result.Length -eq 0) {
Return $stdErr.ReadToEnd();
} Else {
Return $Result;
}
}
#-Sub Main--------------------------------------------------------------
Function Main {
$Result = CallScript -Interpreter "c:\Program Files\Python37\python.exe" `
-ScriptFile "C:\Dummy\Test.py";
$Result;
$Result = CallScript -Interpreter "c:\Program Files\AutoIt3\AutoIt3_x64.exe" `
-ScriptFile "C:\Dummy\Test.au3";
$Result;
}
#-Main------------------------------------------------------------------
Main;
#-End-------------------------------------------------------------------