我不明白为什么 "start-job" 只在我输入 "receive-job" 时启动
I don't understand why "start-job" starts only when I enter "receive-job"
我在 Powershell 中有一个功能,可以从某个网络服务器下载 .jpg 文件(使用 invoke-webrequest)。当我在 powershell cli 中调用该函数时,它会下载请求的文件。但是当我把它包装成一个开始作业命令时,它只有在我添加“接收作业”时才有效。 (我想将它与 start-job 一起使用,因为它是我同事的 gui 的一部分,因此需要一个进程栏)。
使用另一个函数,“start-job”命令按预期工作。我做错了什么??
我的代码:
function DNBDownload ( $pfad, $ISBN ){
$url = "https://a.certain.url/cover?isbn="
$out_file = $( $pfad + "\" )
$file_endung =".jpg"
foreach ($i in $ISBN) {
Invoke-WebRequest $url+$i -OutFile $( "$out_file$i$file_endung" )
}
}
$job1 = Start-Job -scriptblock ${function:DNBDownload} -argumentlist $path, $ISBN
$path 来自文件夹浏览器对话框调用,$ISBN 来自剪贴板。
它对我有用(甚至做了第二个),但直到接收作业才显示进度条。默认文件夹是 ~\documents。我的测试:
start-job { invoke-webrequest https://live.sysinternals.com/procmon.exe -outfile procmon.exe }
dir ~\documents\procmon.exe
job | receive-job -AutoRemoveJob -wait
我还欠你我的解决方案。这很简单:我必须用 $ProgressPreference = 'SilentlyContinue'
抑制进度条(windows 显示为横幅)。
在 Invoke-WebRequest 命令之前添加它之后,我的脚本按需要运行。
我在那里找到了我的解决方案:Hide progress of Invoke-WebRequest .
我在 Powershell 中有一个功能,可以从某个网络服务器下载 .jpg 文件(使用 invoke-webrequest)。当我在 powershell cli 中调用该函数时,它会下载请求的文件。但是当我把它包装成一个开始作业命令时,它只有在我添加“接收作业”时才有效。 (我想将它与 start-job 一起使用,因为它是我同事的 gui 的一部分,因此需要一个进程栏)。
使用另一个函数,“start-job”命令按预期工作。我做错了什么??
我的代码:
function DNBDownload ( $pfad, $ISBN ){
$url = "https://a.certain.url/cover?isbn="
$out_file = $( $pfad + "\" )
$file_endung =".jpg"
foreach ($i in $ISBN) {
Invoke-WebRequest $url+$i -OutFile $( "$out_file$i$file_endung" )
}
}
$job1 = Start-Job -scriptblock ${function:DNBDownload} -argumentlist $path, $ISBN
$path 来自文件夹浏览器对话框调用,$ISBN 来自剪贴板。
它对我有用(甚至做了第二个),但直到接收作业才显示进度条。默认文件夹是 ~\documents。我的测试:
start-job { invoke-webrequest https://live.sysinternals.com/procmon.exe -outfile procmon.exe }
dir ~\documents\procmon.exe
job | receive-job -AutoRemoveJob -wait
我还欠你我的解决方案。这很简单:我必须用 $ProgressPreference = 'SilentlyContinue'
抑制进度条(windows 显示为横幅)。
在 Invoke-WebRequest 命令之前添加它之后,我的脚本按需要运行。
我在那里找到了我的解决方案:Hide progress of Invoke-WebRequest .