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.
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.
-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.
-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.
-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.
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.
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