Powershell (5.0) инициализирует передачу сетевых файлов перед их запуском?
Представьте себе, это скрипт, который копирует файлы TB с общего ресурса Server 2008 R2 SMB, это занимает дни и дни по медленной ссылке.
$remoteFiles = get-childitems -File -Recurse M:\Storage
foreach($remoteFile in $remoteFiles)
{
copy-item $remoteFile -Destination e:\
}
Когда-нибудь в день 2 он запуститсявыбрасывать ошибки Semaphore Timeout для задачи copy-item.
Но это будет отлично работать для всей многодневной передачи ...
$remoteFiles = get-childitems -File -Recurse M:\Storage
While($remoteFiles)
{
foreach($remoteFile in $remoteFiles[0..1])
{
copy-item $remoteFile -Destination e:\
#...Some funtion to remove this $remoteFile from $remoteFiles... you get the idea
}
}
Так что мне интересно, что такое Powershellделать с этим циклом.Он выглядит так, будто читает вперед и запускает сетевой сеанс для каждого файла, что было бы неплохо для небольших работ, но время ожидания для чего-то, что может занять несколько дней.