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, with passwords, keys and tokens masked. 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