2012-08-31 37 views
1

我正在使用PowerShell脚本中的Copy-Item将文件从一台Windows机器复制到另一台Windows机器。想要等到使用PowerShell复制完成复制 - 项目

但是我想等到复制完成后,Powershell Copy-Item是非阻塞的调用方式,它只是触发复制并返回到脚本,但是我想等到复制完成。

有没有办法做到这一点?

+0

这显然是错误的。复制项确实阻塞。这应该可能会被关闭。 – SpellingD

+1

Copy-Item是非阻塞的。如果我激发一个复制项目命令并检查路径是否存在立即,它返回错误 –

回答

2

Copy-Item确实阻止。我刚刚从我们的千兆网络上的一个共享中将4.2GB文件复制到本地机器。我的PowerShell提示已挂起,并且几分钟后未返回。

+1

这是不正确的。如果项目足够小以适应缓存,则副本项目不会阻止。另外,如果您要一个接一个地复制具有多个副本项目命令的多个大文件(即使是大于可用缓存的副本),那么在第一个文件结束时,一旦足够的数据写入磁盘以适应第一个文件的其余部分文件进入缓存副本项目完成,即使仍有100个MB去。在从一个文件更改为下一个文件的过程中,监视正在写入文件的资源监视器会向您显示这一点。 – BeowulfNode42

+0

也在128MiB文件我的Windows 2008r2服务器立即适合大约10个缓存文件,然后在约30个文件复制约30个文件后,在任何时候都有约4个文件缓存。 – BeowulfNode42