QOps-ImportFile

Uploads a file from your disk into the data files of a Qlik Cloud space — the same files a load script reads with lib://<space>:DataFiles/<file>. A name already present in the space is replaced in place, so re-running the same command after a change works without an overwrite switch.

Needs Qlik Cloud. Run against a Qlik Sense or QlikView configuration, the command reports that data files are supported only in Qlik Cloud mode and stops without doing anything.

See also QOps-ExportFile for the other direction and QOps-RemoveFile for deleting a file from the space.

 

A refusal is now explained instead of returning the silence that looks like a search with no matches — the run says why it declined.

New in version 3.0.15

Syntax

QOps-ImportFile -Space [Space] -Path [Path] [-Root [Root]] [-QlikPath [QlikPath]] [-Profile] [-Verbose]

-Space specifies the Qlik Cloud space the file is uploaded into. Required. The space is found by name; the API key you are configured with has to be a member of it.

-Path specifies the local file to upload, or a wildcard matching several files on disk. Required.

An absolute path is used exactly as written. A relative path is counted from the folder you are standing in (the one Get-Location reports), and it stays that folder whether or not the repository's .qopsconfig sits above you: .qopsconfig decides where the configuration is read from, not where a path is counted from. Standing in C:\repo\loaders:

-Path C:\data\Customers.csv    ->  C:\data\Customers.csv
-Path .\data\Customers.csv     ->  C:\repo\loaders\data\Customers.csv
-Path data\Customers.csv       ->  the same file, the .\ is optional
-Path ..\shared\Customers.csv  ->  C:\repo\shared\Customers.csv

Only the file name may be a wildcard, and one folder is read: -Path .\data\*.csv takes the files in data and not the ones in data\2026. To reach a whole tree, give -Root. The wildcard is PowerShell's own, so *, ? and [a-z] select here exactly what they select at the prompt. A wildcard matching nothing is not an error: the command says what it searched for and returns nothing.

Updated in version 3.0.21

 

-QlikPath specifies an optional folder inside the space the files upload into, for example Extracts/Daily, instead of the top level. Folders that do not exist yet are created on the way. A file already in that folder is replaced, the same way it is at the top level, so re-running an import stays the same command each time. Without -QlikPath files go to the top level of the space.

Without -Root it is one destination for the whole command: every file -Path matches lands there. With -Root it is the top of a mirrored tree.

Give the folder on its own, relative to the space (Extracts/Daily, not the Space:DataFiles/... form from a load script); the command refuses that prefix, and a wildcard here, and says which shape to use.

This parameter was -TargetPath in 3.0.18. That spelling still works as an alias, so nothing written against the older release needs changing. The same -QlikPath is on QOps-ExportFile and QOps-RemoveFile.

New in version 3.0.20 (as -TargetPath since 3.0.18)

 

-Root takes a whole tree and keeps its shape. Give it, and two things change together: -Path is matched against each file's path relative to the root, and each file lands in -QlikPath plus its own folder.

QOps-ImportFile -Space Sales -Root .\data -Path *.csv -QlikPath Extracts

.\data\a.csv          ->  Extracts/a.csv
.\data\2026\b.csv     ->  Extracts/2026/b.csv
.\data\2026\q1\c.csv  ->  Extracts/2026/q1/c.csv

A * crosses folders here: -Path *.csv takes the whole tree under the root, and -Path 2026/*.csv takes one branch of it. Without -Root one folder is read, as before, and no structure is copied.

New in version 3.0.20

 

-Profile overrides default User Profile with the specified one

-VerboseLog enables full verbose output including complete API response dumps and debug information. By default, QOps now produces concise output summaries.

New in version 3.0.14

Taking a tree out and putting it back

Export a set of files, change one, import them back, and each file returns to the folder it came from:

QOps-ExportFile -Space Sales -QlikPath Extracts -File *.csv -Path .\out
# edit .\out\2026\b.csv
QOps-ImportFile -Space Sales -Root .\out -Path *.csv -QlikPath Extracts

The export takes Extracts off the front and lays the rest out under -Path; the import counts from -Root and puts the rest back under -QlikPath. So -Root is simply the folder the export wrote into. A file already in its folder is replaced rather than duplicated, at every level of the tree.

New in version 3.0.20

Examples

QOps-ImportFile -Space Sales -Path .\data\Customers.csv


QOps-ImportFile -Space Sales -Path .\data\*.csv


QOps-ImportFile -Space Sales -Path .\data\*.csv -QlikPath Extracts/Daily


QOps-ImportFile -Space Sales -Root .\data -Path *.csv -QlikPath Extracts