【发布时间】:2018-01-22 20:21:58
【问题描述】:
我有一个脚本,它使用foreach 循环将 .pak 文件从 server1 移动到 server2。我需要foreach 循环在文件移动之间等待以进行复制。我希望在循环中添加 30 秒的延迟。
$server1 = "C:\Users\Administrator\AppData\Local\Temp" ## current source folder
$server2 = "C:\Users\Administrator\AppData\Local\Temp\Target\" ## destination folder
foreach ($server1 in gci $server1 -Include *.pak -Recurse) {
## Move the files to the destination folder
Move-Item -Path $server1.FullName -Destination $server2
}
【问题讨论】:
-
为什么之间需要等待?
-
允许文件复制到文件,因为网络速度和流量等很多变量。我不想一次启动数百或数千个文件副本并崩溃到服务器。
-
你发现副本是同步发生的吗?我很容易出错,但无论如何这些副本应该一次发生一个。不管你应该使用 robocopy 来做这样的事情,因为你可以对其设置速率限制并让它选择你想要的文件。
-
Josh 什么是 robocopy?
标签: powershell foreach