Complete-BitsTransfer cmdlet的目的是什么?

时间:2014-01-08 10:50:03

标签: windows powershell powershell-v3.0

PowerShell和Windows有一个很好的框架来传输名为BITS的文件。这可以同步使用:

Start-BitsTransfer -Source \\remote_file_location -Destination .

有一个异步标志可以在后台运行下载:

Start-BitsTransfer -Asynchronous -Source \\remote_file_location -Destination .

如果您只是异步运行作业,一段时间后它将显示为已转移:

JobId                     DisplayName              TransferType             JobState                             
-----                     -----------              ------------             --------                 
cd070594-6103-44eb-b6c... BITS Transfer            Download                 Transferred

但是,在运行Complete-BitsTransfer cmdlet之前,您的文件不会显示在目标位置:

Get-BitsTransfer | Complete-BitsTransfer

在此之前,您的文件显然处于计算机(或内存中)的某个地方。这样做的目的是什么?为什么windows不会直接将文件放在目的地?

1 个答案:

答案 0 :(得分:2)

如果事件驱动的自动化流程在编写文件后立即执行某些操作,则可以通过将文件传输到临时位置来控制该流程的时间,并且完成流程会将其写入它是最终目的地。

e.g。如果您要将文件传输到多个系统以更新一个客户端软件,并且需要确保它们全部同时更新,并且所有这些都更新或者没有更新。