Environment
Reflection Desktop (including Pro, for X, for IBM, or for UNIX and OpenVMS) 16.1 and later
Situation
If you have a whole lot of Extra! session files (*.edp) and you want to have them all converted for use with Reflection Desktop (*.rd3x, *.rd5x, *.rdox) without having to open each one separately and save it, you can use this script to save them all as Reflection Desktop files.
Resolution
- Copy the VBScript code below to a text file and save as "ConvertEDP.vbs".
- Copy ConvertEDP.vbs to a directory that contains Extra! .edp files. (The folder should be one that Reflection Desktop recognizes as a "trusted location"...see Reflection Workspace settings.)
- Open a cmd.exe command prompt window and cd to the directory containing the script and .edp files.
- To run the script, use this syntax: cscript.exe ConvertEDP.vbs
- Note: make sure that the Reflection Workspace setting for "Exit workspace when last document closed" is un-selected when using this script.
'''''''''''''''''''''''''''''''''''''''''''''''''''''
' ConvertEDP.vbs
'
' For every .edp file in the current directory,
' open it in Reflection Desktop, and save as a
' .rd3x, .rd5x, or .rdox (depending on host type).
'
' IMPORTANT: Run this script using cscript.exe, for example:
' cscript.exe ConvertEDP.vbs
' ...or the echo statements will appear as message boxes instead
' of printing to the console!
'
' Example code provided without warranty or support.
' Please review and understand it before running.
'''''''''''''''''''''''''''''''''''''''''''''''''''''
const TERM3270 = 1
const TERM5250 = 2
const CloseAlwaysSave = 3
Wscript.Echo "===ConvertEDP==="
dim fso, wsh
set fso = WScript.CreateObject("Scripting.FilesystemObject")
set wsh = WScript.CreateObject("WScript.Shell")
Wscript.Echo "Launching Reflection for conversion process..."
dim rApp, frame
set rApp = WScript.CreateObject("Attachmate_Reflection_Objects_Framework.ApplicationObject")
set frame = rApp.GetObject("Frame")
dim fcollection, fldr, edp
set fldr = fso.GetFolder(".")
set fcollection = fldr.Files
on error resume next
for each edp in fcollection
if lcase(Right(edp.Name, 4)) = ".edp" then
'Reflection can't open/save Extra demo sessions,
'so skip them..
if instr(edp.Name, "Demo Session") = 0 then
Wscript.Echo "Converting: " & edp
dim term
set term = rApp.CreateControl(edp)
if err <> 0 then
err.clear
Wscript.Echo "Unable to open: " & edp & " err=" & err
Wscript.Echo "Is this a Reflection ""Trusted Location""?"
end if
dim newfile
newfile = left(edp, len(edp) - 3) 'remove "edp" from filename
if term.TerminalType = TERM3270 then
newfile = newfile + "rd3x"
elseif term.TerminalType = TERM5250 then
newfile = newfile + "rd5x"
else 'VT
newfile = newfile + "rdox"
end if
term.SaveAsCompound newfile
if err <> 0 then
' ConvertEDP.vbs
'
' For every .edp file in the current directory,
' open it in Reflection Desktop, and save as a
' .rd3x, .rd5x, or .rdox (depending on host type).
'
' IMPORTANT: Run this script using cscript.exe, for example:
' cscript.exe ConvertEDP.vbs
' ...or the echo statements will appear as message boxes instead
' of printing to the console!
'
' Example code provided without warranty or support.
' Please review and understand it before running.
'''''''''''''''''''''''''''''''''''''''''''''''''''''
const TERM3270 = 1
const TERM5250 = 2
const CloseAlwaysSave = 3
Wscript.Echo "===ConvertEDP==="
dim fso, wsh
set fso = WScript.CreateObject("Scripting.FilesystemObject")
set wsh = WScript.CreateObject("WScript.Shell")
Wscript.Echo "Launching Reflection for conversion process..."
dim rApp, frame
set rApp = WScript.CreateObject("Attachmate_Reflection_Objects_Framework.ApplicationObject")
set frame = rApp.GetObject("Frame")
dim fcollection, fldr, edp
set fldr = fso.GetFolder(".")
set fcollection = fldr.Files
on error resume next
for each edp in fcollection
if lcase(Right(edp.Name, 4)) = ".edp" then
'Reflection can't open/save Extra demo sessions,
'so skip them..
if instr(edp.Name, "Demo Session") = 0 then
Wscript.Echo "Converting: " & edp
dim term
set term = rApp.CreateControl(edp)
if err <> 0 then
err.clear
Wscript.Echo "Unable to open: " & edp & " err=" & err
Wscript.Echo "Is this a Reflection ""Trusted Location""?"
end if
dim newfile
newfile = left(edp, len(edp) - 3) 'remove "edp" from filename
if term.TerminalType = TERM3270 then
newfile = newfile + "rd3x"
elseif term.TerminalType = TERM5250 then
newfile = newfile + "rd5x"
else 'VT
newfile = newfile + "rdox"
end if
term.SaveAsCompound newfile
if err <> 0 then
Wscript.Echo "SaveAs error=" & err
err.clear
end if
term.Close CloseAlwaysSave
Wscript.Echo "Saved as: " & newfile
end if 'instr...
end if 'lcase...
next
Wscript.Echo "Done...closing Reflection..."
rApp.Close CloseAlwaysSave
end if
term.Close CloseAlwaysSave
Wscript.Echo "Saved as: " & newfile
end if 'instr...
end if 'lcase...
next
Wscript.Echo "Done...closing Reflection..."
rApp.Close CloseAlwaysSave