使用 powershell 命令从网站开始下载(使用 BITS 传输)

start download from website with powershell commandlet ( using BITS transfer)

我已经配置了 IIS 服务器,目前它的 运行 在本地主机上。我需要在 Powershell commandlet 的帮助下下载 IIS 目录中的文件。

我试过后台智能传输服务.. 喜欢

Start-BitsTransfer -Asynchronous -Priority High -TransferType Download -Source http://localhost/vdir/validity.txt -Destination C:\

它执行得很好,没有给出任何错误 但文件没有下载 就像我得到比特传输状态 "TRANSFERRED" 但文件没有下载.. 知道为什么会这样..:(

可能是因为 -Asynchronous 标志需要 Complete-BitsTransfer cmdlet 才能完成传输。

例如。 如果你 运行 你的代码像

Start-BitsTransfer -Asynchronous -Priority High -TransferType Download -Source http://localhost/vdir/validity.txt -Destination C:\

那么我猜你的 C:\ 根目录下会有一些 xxxx.tmp 文件。当您的 BITS 工作状态将像

JobId               : **3bdb9071-d780-446f-974c-074a48206c0c**
DisplayName         : BITS Transfer
TransferType        : Download
JobState            : **Transferred**
OwnerAccount        : blablabla
Priority            : High
FilesTransferred    : 1
FilesTotal          : 1
BytesTransferred    : 310764
BytesTotal          : 310764
CreationTime        : 2/23/2015 3:55:23 PM
ModificationTime    : 2/23/2015 3:55:39 PM
MinimumRetryDelay   : 
NoProgressTimeout   : 
TransientErrorCount : 0
ProxyUsage          : SystemDefault
ProxyList           : 
ProxyBypassList     : 

然后你需要运行以下命令将xxxx.tmp文件转换为validity.txt

$Job = Get-BitsTransfer -JobId "3bdb9071-d780-446f-974c-074a48206c0c"
Complete-BitsTransfer -BitsJob $Job