Save Collections as separate blend file
The following uses hard coded windows paths for the ip_path, op_path but as the intention was to specify your own path and file this should be no issue.

Open a new blender file (the script will be removing all content from collections in the current file while running).
Copy the code into a text editor.
Modify the ip_path, ip_fname, op_path for your specific targets.
Run the script.

import bpy
import os


# folder containing blend files
ip_path = &quot;C:\\Blender Projects\\bridge\\&quot;
ip_fname = &quot;bridge_002.blend&quot;

# target folder
op_path = &quot;C:\\Blender Projects\\bridge\\temp\\&quot;

blendfiles = [ip_fname,]

def clear_cur_colls():
    while len(bpy.data.collections) &gt; 0:
        bpy.data.collections.remove(bpy.data.collections[0])
    override = bpy.context.copy()
    override[&quot;area.type&quot;] = ['OUTLINER']
    override[&quot;display_mode&quot;] = ['ORPHAN_DATA']
    bpy.ops.outliner.orphans_purge(override)

def get_coll_names(assets_path):
    names = []
    with bpy.data.libraries.load(assets_path) as (data_from, data_to):
        names = [name for name in data_from.collections]
    return names

for file in blendfiles:
    # prep to make a folder based on blend file name
    filepath = os.path.join(ip_path, file)

    # make a folder based on blend file name to store new files
    if not os.path.isdir(op_path):
        os.mkdir(op_path)
    # get each object from blend file
    colls = get_coll_names(filepath)
    for coll in colls:
        # clear the current file
        clear_cur_colls()
        # append the object
        bpy.ops.wm.append(filepath=file, directory=str(filepath)+&quot;\\Collection\\&quot;, filename=coll)
        # save blend file
        bpy.ops.wm.save_as_mainfile(filepath=os.path.join(op_path, coll+&quot;.blend&quot;))

clear_cur_colls()