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不会直接将文件放在目的地?
答案 0 :(得分:2)
如果事件驱动的自动化流程在编写文件后立即执行某些操作,则可以通过将文件传输到临时位置来控制该流程的时间,并且完成流程会将其写入它是最终目的地。
e.g。如果您要将文件传输到多个系统以更新一个客户端软件,并且需要确保它们全部同时更新,并且所有这些都更新或者没有更新。