У меня есть следующий скрипт для загрузки около сотни тысяч файлов .doc и запуск программы на них. На основе вывода файлы группируются в папки. Я протестировал скрипт в локальном каталоге с несколькими файлами, и он работает так, как ожидалось.Как загружать и обрабатывать файлы по одному, используя PowerShell
Но при загрузке из большого массива файлов сценарий печатает «Загрузка файлов ....» и остается там. Кажется, скрипт ждет, пока он загрузит все файлы из корпуса. Если это так, есть способ загрузить и обработать один файл за раз?
Было бы здорово, если бы вы могли комментировать и эффективность.
$path = "\\Storage\100kCorpus"
$filter = "*.doc"
$count = 0
Write-Host "Loading files....";
$files = @(get-childitem -recurse -path $path -filter $filter)
Write-Host "files loaded";
foreach ($file in $files) {
$count ++
Write-Host "$file.FullName";
$out = & "D:\Test\doc\Verify.exe" /i:$file.FullName
$failed_file_location="D:\Test\doc\2875555\$out";
if (($out -ne "passed") -and !(Test-Path -path $failed_file_location)){
[IO.Directory]::CreateDirectory($failed_file_location)
Copy-Item $file $failed_file_location
}
}
Write-Host "There are $count files with the pattern $filer in folder $path"