【发布时间】:2014-01-08 10:50:02
【问题描述】:
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 在文件到达时不直接将文件放置到目的地?
【问题讨论】:
-
应该在 TMP 文件中,直到您完成传输。
-
@Knuckle-Dragger :那有什么意义呢?如果 tmp 文件夹位于小型驱动器上,这不会冒填满您的 tmp 文件夹的风险吗?
标签: windows powershell powershell-3.0