Powershell 等到文件下载后继续执行脚本
Powershell wait until after file download to continue script
$x = Invoke-RestMethod -Method "Get" -uri $url -Headers $get_headers
**Start-Process "chrome.exe" $x.url**
Start-Sleep -s 10
您好,
我正在使用上面的方法通过 chrome 下载文件。是否可以等到文件下载完成后继续执行脚本,而不是休眠或实现增量重试功能
谢谢
所以让我们谈谈我所看到的以及如何让它变得更好
$x = Invoke-RestMethod -Method "Get" -uri $url -Headers $get_headers
Start-Process "chrome.exe" $x.url
Start-Sleep -s 10
你可以使用 Invoke-RestMethod
来保存
这是一个例子
Invoke-RestMethod "http://www.peoplelikeus.org/piccies/codpaste/codpaste-teachingpack.pdf" -OutFile "C:\codpaste-teachingpack.pdf"
在你的情况下这可能有效。
$x = Invoke-RestMethod $url -Headers $get_headers
Invoke-RestMethod $x.url -OutFile "C:\SomeTypeOfFile.Txt"
Invoke-RestMethod 将等到完成后在代码中继续。
仅供参考(把它放在这里是因为它对于普通评论来说太长了),这里是 3 other ways,你可以这样做:
$url = "http://mirror.internode.on.net/pub/test/10meg.test"
$output = "$PSScriptRootmeg.test"
$start_time = Get-Date
# 1. Invoke-WebRequest
Invoke-WebRequest -Uri $url -OutFile $output
"Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"
# 2. System.Net.WebClient
(New-Object System.Net.WebClient).DownloadFile($url, $output)
"Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"
# 3. Start-BitsTransfer
Start-BitsTransfer -Source $url -Destination $output -Asynchronous
"Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"
$x = Invoke-RestMethod -Method "Get" -uri $url -Headers $get_headers
**Start-Process "chrome.exe" $x.url**
Start-Sleep -s 10
您好,
我正在使用上面的方法通过 chrome 下载文件。是否可以等到文件下载完成后继续执行脚本,而不是休眠或实现增量重试功能
谢谢
所以让我们谈谈我所看到的以及如何让它变得更好
$x = Invoke-RestMethod -Method "Get" -uri $url -Headers $get_headers
Start-Process "chrome.exe" $x.url
Start-Sleep -s 10
你可以使用 Invoke-RestMethod
来保存这是一个例子
Invoke-RestMethod "http://www.peoplelikeus.org/piccies/codpaste/codpaste-teachingpack.pdf" -OutFile "C:\codpaste-teachingpack.pdf"
在你的情况下这可能有效。
$x = Invoke-RestMethod $url -Headers $get_headers
Invoke-RestMethod $x.url -OutFile "C:\SomeTypeOfFile.Txt"
Invoke-RestMethod 将等到完成后在代码中继续。
仅供参考(把它放在这里是因为它对于普通评论来说太长了),这里是 3 other ways,你可以这样做:
$url = "http://mirror.internode.on.net/pub/test/10meg.test"
$output = "$PSScriptRootmeg.test"
$start_time = Get-Date
# 1. Invoke-WebRequest
Invoke-WebRequest -Uri $url -OutFile $output
"Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"
# 2. System.Net.WebClient
(New-Object System.Net.WebClient).DownloadFile($url, $output)
"Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"
# 3. Start-BitsTransfer
Start-BitsTransfer -Source $url -Destination $output -Asynchronous
"Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"