ODBC guide

Move or rename a file or folder


Moves a file or folder within a SharePoint document library. Supports moving within the same drive, across drives or sites. You can also rename the item during the move.

SELECT *
FROM move_rename_item
WITH
(
    -- ##### SOURCE #####
    -- Source Site (leave blank to use default site)
    -- , SiteId = 'abc.sharepoint.com,5304daff-xxxxxxxxxx'

    -- Source Drive (Document Library)
    , DriveId = 'b!0zqxxxxxxxxxxxxxxxxxxxxxxxx'

    -- Item to move or rename (FILE or FOLDER)
    -- Path format: root:/path/to/item:
    , ItemId  = 'root:/myfile.pdf:'
	-- , ItemId  = 'root:/myfolder/myfile.pdf:'
    -- , ItemId = '01R65QTTRARZ42C4BN6FF2WOH3AONX4GUW'  -- by ID (preferred)


    -- ##### TARGET #####
    -- Target Site (only required when moving across sites)
    -- , TargetSiteId = 'xyz.sharepoint.com,5304daff-xxxxxxxxxx'

    -- Target Drive (only required when moving across drives)
    -- , TargetDriveId = 'b!0zqXLXXJh0uxxxxxxxxxxxxxxxxxxxxx'


    -- ##### TARGET FOLDER #####
    -- Optional: specify ONLY when moving to a different folder
    -- Choose ONE format: Path OR Id

    , TargetType     = 'Id'
    , TargetFolderId = '01R65QTTTBPH6V2AP36VD33CYYDXJSNHLN'
    -- , TargetFolderId = 'root'   -- move to drive root

    -- -- OR --
    -- , TargetType       = 'Path'
    -- , TargetFolderPath = '/somefolder'
	-- , TargetFolderPath = '/somefolder/subfolder'
    -- , TargetFolderPath = '/somefolder/<<yyyy-MM-dd,FUN_NOW>>'  -- folder must exist


    -- ##### OPTIONS #####
    -- Optional: specify only when renaming the item
    -- , TargetItemName =
    --     'new_file_name_<<yyyy-MM-dd-HH-mm-ss-fff,FUN_NOW>>.pdf'

    -- Required for large items or cross-site / cross-drive moves (async)
    -- , Prefer = 'respond-async'
);