我正在编写脚本,将500多条DNS记录迁移到Windows 2008(来自' 03),然后通过DNSCMD(内置MS DNS工具)操纵属性。
无论如何 - DNS存在限制,如果你做的事情太快了#34;它开始窒息 - 我以前在旧的DOS脚本中看到过这个。
那就是说,我如何批处一个foreach循环?
例如(用外行人的话来说,脚本)
$records = C:\myfile.txt
foreach ($record in records) {
MyFunction (only to the first 20 records)
start-sleep 2
MyFunction (to the next 20 records)
... etc ....
}
这可能吗?如果是这样你会如何接近它?我想我可以在start-sleep 1
之后添加一个简单的MyFunction
,但是有500多条记录,有很多功能,这需要花费很长时间。 :(我认为在DOS世界中找到的效率方面是最好的。感谢!
答案 0 :(得分:4)
如果您正在从文件中读取它们,可以使用-ReadCount批量处理它们:
Get-Content C:\myfile.txt -ReadCount 20 |
foreach {
foreach ($record in $_)
{ MyFunction $record }
start-sleep 2
}