This total ODD !  But it works.
The list doesn't allow Carret ^ for the positive Globals
for globals to skip Carret ^ is required !!!


ENS>set list="Ens.*.GBL,'^Ens.Me*.GBL,'^Ens.C*.GBL"
ENS>ENS>set sc=$system.OBJ.Export(.list)
;; output skipped ;;
ENS>ZWRITE    ;processed Globals
list("^Ens.ActiveMessage.gbl")=""
list("^Ens.AppData.gbl")=""
list("^Ens.BP.ContextD.gbl")=""
list("^Ens.BP.ThreadD.gbl")=""
list("^Ens.BP.ThreadI.gbl")=""
list("^Ens.BusinessProcessD.gbl")=""
list("^Ens.BusinessProcessI.gbl")=""
list("^Ens.Debug.gbl")=""
list("^Ens.DocClassMap.gbl")=""
list("^Ens.JobStatus.gbl")=""
list("^Ens.Mirror.gbl")=""
list("^Ens.Queue.gbl")=""
list("^Ens.Rule.gbl")=""
list("^Ens.Util.IOLogD.gbl")=""
list("^Ens.Util.IOLogI.gbl")=""
list("^Ens.Util.LogD.gbl")=""
list("^Ens.Util.LogI.gbl")=""
list("^Ens.Util.ScheduleD.gbl")=""
sc=1
My interpretation:
First, a local array is collected, and then the negated subscripts are deleted (requiring now ^   !!)

Hi Dan !

ADD / CREATE is just wishful thinking. sad It is only able to EDIT an already EXISTING link.
If it exists you get asked: "Overwrite ?" otherwise "Not Found" as you have seen. angry

You must create first a dummy of type *.link.DFI  that you have to import by DeepSee Folder Manager
or better directly in Studio. You must then assign the correct name already there.
Folder Manager can't rename or move it !!  only Import/Export sad 

Here is a dummy link to start with.

<?xml version="1.0" encoding="UTF-8"?>
<Export generator="IRIS" version="26" zv="IRIS for Windows (x86-64) 2021.1.0PYTHON (Build 237U)" ts="2021-11-01 13:54:36">
<Document name="dummy.link.DFI">
<link 
  xmlns="http://www.intersystems.com/deepsee/library" 
  name="dummy" folderName="Links" 
  shared="true" 
  public="true" 
  locked="false"
  href=""
  title="" 
  description="" 
  keywords="" 
  owner="" 
  resource="" 
  timeCreated="" 
  createdBy="" category="" 
  bookCover=""
  >           
</link>
</Document>
</Export>

Feel free to place a PRODLOG on that bug.
I will not do it. I'm not willing to wait so long. crying
I just recently received a closing message on another PRODLOG  I had placed in early 2017. angry
 

In past, I have seen so many "re-invented wheels" on COS that were mostly kind of remakes of
existing packages or solutions. Though this is impressive from a coding point of view,
it is just a waste of energy from point of view of a project AND its maintenance.

I had similar experiences with SQL that was refused by "experienced" programmers
insisting on horrible $ORDER() / $QUERY() constructs almost un-supportable, to gain
a few microseconds of performance on a weekly report. 

The deeper reason: nobody explained it and trained them.
That's the behaviour to avoid. 

some hints.

  • use the opportunity to separate data from code. So you have already a new IRIS.DAT with all globals
  • create a fresh IRIS.DAT to be used just for routine (classes, ... )
  • now you should have a clean start of your IRIS instance
  • check if the globals are visible as expected, but neither classed not routines.
  • now open 1 Studio on Caché and 1 on your target IRIS namespace
  • next you can move all classes, routines, ... by drag&drop from Caché Studio to IRIS Studio
  •  
  • this last step could also be an XMLExport of all code and XML input but you miss eventually required adjustments.

Hi @Vic Sun , @Akshay Pandey :
Just to complete this discussion.

From Terminal I could run Py also from a JOB, and over CPIPE without problems.
From Studio Output all this FAILS.
Which makes clear that the process behind Studio is far away from being a normal
IRIS/Caché process and just good for editing and compiling.  FullStop.

I would even assume that running COS commands was not planned but rather an accident that happened 20 yerars ago.