Как не сохранять структуру подпапок, из которых происходит импорт?

В FineReader Server 14 поддержан сценарий импорта из подпапок (галочка Используя файлы в подпапках). Если данная настройка включена, то FineReader Server 14 будет восстанавливать структуру подпапок на этапе экспорта.

Такое поведение программы может не соответствовать вашим задачам, тогда Вам поможет следующее решение. 

Решение для FineReader Server 14

Для того, чтобы экспорт производился в папку экспорта, а не в подпапку вида <папка_экспорта>\<подпапка>, пожалуйста, сделайте следующее: 

откройте Свойства сценария обработки > вкладка Экспорт > Настройка параметров экспорта > в разделе Имя файла выбрать Настроить... и активируйте Создавать структуру папок исходной библиотеки

 Untitled3.png

Untitled4.png

 

Решение для Recognition Server 4.0 

Для того, чтобы экспорт производился в папку экспорта, а не в подпапку вида <папка_экспорта>\<подпапка>, пожалуйста, используйте следующий скрипт экспорта: 

// --------- JScript ---------
var fso = new ActiveXObject("Scripting.FileSystemObject");
for (i = 0; i < OutputFormats.Count; i++ )
    {
     //Получаем доступ к форматам экспорта
     var format = OutputFormats.Item( i );
     var folderPath = format.OutputLocation;
     for( j = 0; j < format.OutputFiles.Count; j++ )
        {
         //Получаем имя экспортируемого файла
         var initialName = format.OutputFiles.Item( j );
         //Получаем полный путь экспорта, вместе с подпапкой
         var fullPath = fso.BuildPath( folderPath, JobProperties.Subfolder);
         /*Проверяем наличие файла с таким именем в папке экспорта,
         если файл существует - удаляем его.*/ 
         if ( fso.FileExists( folderPath + "\\" + initialName ) )
            {
             fso.DeleteFile( folderPath + "\\" + initialName );
            } 
         //Перемещаем файл из подпапки в каталог экспорта         
         fso.MoveFile( fullPath + "\\" + initialName , folderPath + "\\" + initialName );
        }
    }
//Удаляем, теперь уже пустую, подпапку
var folder = fso.GetFolder(fullPath)
folder.Delete(1); 

При совпадении имен, файл в папке экспорта удаляется. Вы можете решить это на свое усмотрение, изменив данную часть кода: 

fso.DeleteFile( folderPath + "\\" + initialName );

Была ли эта статья полезной?

Пользователи, считающие этот материал полезным: 0 из 0

Еще есть вопросы? Отправить запрос

Комментарии

0 комментариев

Войдите в службу, чтобы оставить комментарий.

Недавно просмотренные статьи