У меня есть следующий скрипт, чтобы разбить большое количество файлов в одном каталоге на подпапки, разделить, чтобы сохранить размер подпапки / количество файлов управляемыми.Это работает, но есть две незначительные проблемы, которые я бы хотел исправить:
# First count the number of files in the $OrigFolder directory
$numFiles = (Get-ChildItem -Path $OrigFolder).Count
$i=0
#Calculate copy operation progress as a percentage
[int]$percent = $i / $numFiles * 100
$n = 0; Get-ChildItem -File | Group-Object -Property {$script:n++;
[math]::Ceiling($n/9990)} |
ForEach-Object {
$dir = New-Item -Type Directory -Name $_.Name # Create directory
$_.Group | Move-Item -Destination $dir # Move files there
# Log progress to the screen
Write-Host "$($_.FullName) -> $FolderName"
# Tell the user how much has been moved
Write-Progress -Activity "Copying ... ($percent %)" -status $_ -PercentComplete
$percent -verbose
$i++
}
Во-первых, как мне предотвратить перемещение самого скрипта в первую подпапку, созданную скриптом?
Второйкак добавить имя «Переместить файлы» в папки, созданные сценарием?Прямо сейчас они просто пронумерованы последовательно.