gpt4 book ai didi

powershell - 使用 Powershell 异步下载多个大文件

转载 作者:行者123 更新时间:2023-12-02 23:35:50 25 4
gpt4 key购买 nike

我有四个需要下载的大型操作系统安装介质。如果我在移动到下一个之前等待每个下载完成,这将需要很长时间。
在下载之前,我想检查媒体是否已经存在。

解决方案可能是哈希表、测试路径和调用 webrequest 的组合,但我无法破解它。

所以在伪的东西上:

Check if file1 exists
if true then download and check file2
if false check file 2
check if file 2 exists...

因此,请检查文件是否存在,如果不存在,则开始下载所有丢失的文件。

我对PS不是很有经验,所以非常感谢所有帮助,非常感谢!研究答案很有趣,但我觉得我在这里遗漏了一个关键字......

最佳答案

有一种使用 WebClient 类进行异步下载的相当简单的方法,尽管它可能在旧版本的 PS 上不可用。看下面的例子

$files = @(
@{url = "https://github.com/Microsoft/TypeScript/archive/master.zip"; path = "C:\temp\TS.master.zip"}
@{url = "https://github.com/Microsoft/calculator/archive/master.zip"; path = "C:\temp\calc.master.zip"}
@{url="https://github.com/Microsoft/vscode/archive/master.zip"; path = "C:\temp\Vscode.master.zip"}
)

$workers = foreach ($f in $files) {

$wc = New-Object System.Net.WebClient

Write-Output $wc.DownloadFileTaskAsync($f.url, $f.path)

}

# wait until all files are downloaded
# $workers.Result

# or just check the status and then do something else
$workers | select IsCompleted, Status

关于powershell - 使用 Powershell 异步下载多个大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55183772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com