У меня есть папка, которая содержит много огромных файлов. Я хочу разбить эти файлы в 3 папки. Требование состоит в том, чтобы получить количество файлов в основной папке, а затем разделить их на 3 дочерние папки. Пример. В основной папке 100 файлов. Когда я запускаю powershell, 3 дочерние папки должны быть созданы с 33, 33 и 34 файлами соответственно. Как мы можем это сделать с помощью Powershell?Powershell to Split огромная папка в нескольких папках
Я попытался следующие:
$FileCount = (Get-ChildItem C:\MainFolder).count
Get-ChildItem C:\MainFolder -r | Foreach -Begin {$i = $j = 0} -Process {
if ($i++ % $FileCount -eq 0) {
$dest = "C:\Child$j"
md $dest
$j++
}
Move-Item $_ $dest
}
Прежде всего, сначала попробуйте что-то свое и сообщите нам, если у вас есть проблема и как мы можем это исправить. 'Get-ChildItem' вернется и будет массивом. Подсчет элементов подскажет вам, сколько у вас предметов, и вы можете запросить проверку, разделив группу на 3 и оставив остальных в последней группе. – Matt
Я пробую этот код. Он создает одну дочернюю папку, но не перемещает какой-либо файл. $ FileCount = (Get-ChildItem C: \ MainFolder).count Get-ChildItem C: \ MainFolder -r | Foreach -Begin {$ я = $ J = 0} {-Process если ($ я ++% $ FileCount -eq 0) {$ приемник = "C: \ Child $ J" мкр $ Dest $ j ++ } Переместить-Item $ _ $ dest } – user3220846