ODBC guide

Move a file or folder


Moves a file or folder to another location (same drive or another drive), with optional renaming. Placeholder functions (e.g. <<FUN_NOW>>) are supported for dynamic names.

SELECT *
FROM move_rename_item
WITH
(
    -- ##### SOURCE #####
    -- Source Drive
    -- Use 'me' for current user's OneDrive
    , DriveId = 'me'
    -- OR use another user's / shared drive
    -- , DriveId = 'b!GtLN726LE0eXXXXXXXXXXXX'

    -- 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 Drive (only required when moving across drives)
    -- , TargetDriveId = 'me'
    -- , TargetDriveId = 'b!0zqXLXXJh0uXXXXXXXXXXXXxxxxxxxxx'


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

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

    -- , TargetType     = 'Id'
    -- , TargetFolderId = '01R65QTTTBPH6V2AP36VD33CYYDXJSNHLN'
    -- , TargetFolderId = 'root'


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

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