If you don't mind scripting with swift:
#!/usr/bin/env swift
import Foundation
let path = ProcessInfo.processInfo.environment["HOME"]! + "/Downloads/a.txt"
FileManager.default.createFile(atPath: path, contents: nil, attributes: [:])
let url = URL(fileURLWithPath: path)
let progress = Progress(parent: nil, userInfo: [
ProgressUserInfoKey.fileOperationKindKey: Progress.FileOperationKind.downloading,
ProgressUserInfoKey.fileURLKey: url,
])
progress.kind = .file
progress.isPausable = false
progress.isCancellable = false
progress.totalUnitCount = 5
progress.publish()
while (progress.completedUnitCount < progress.totalUnitCount) {
sleep(1)
progress.completedUnitCount += 1
NSLog("progress %d", progress.completedUnitCount)
}
NSLog("Finished")
(Apple Swift version 4.1.2, Xcode 9.4)
Thanks to https://gist.github.com/mminer/3c0fbece956f3a5fa795563fafb139ae