Информационный портал
pocket versionPOCKET  wikiWIKI  FAQFAQ  ПоискПоиск  ПользователиПользователи  ГруппыГруппы  РегистрацияРегистрация  ПрофильПрофиль  Войти и проверить личные сообщенияВойти и проверить личные сообщения  ВходВход

[soft/VBScipt] FB2 файлы в каталоги
На страницу Пред.  1, 2
 
Найти сообщения без ответов
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> Сделано для FB
Предыдущая тема :: Следующая тема  
Автор Сообщение


msblast
Новенький участник форума

Новенький участник форума

Зарегистрирован: 11.03.2008
Сообщения: 4

СообщениеДобавлено: Ср Мар 12, 2008 18:51    Заголовок сообщения: Ответить с цитатой

Кстати, у меня не получается воспользоваться параметром -x, чтобы после обработки исходный файл удалялся. Пробовал '-x=', '-x=1','-x=0', '-x=''0'' ', '-x=''1'' ' - безрезультатно. Это у всех так, или только у меня?

Добавлено спустя 6 минут 24 секунды:

И ещё вопрос автору: можно ли сделать, чтобы два одновременно запущенных экземпляра данного скрипта не конфликтовали друг с другом? Сейчас если я одновременно скажу обработать два разных fb2, будет выдана ошибка WScript. Правда, несмотря на это скрипт срабатывает корректно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Cd_spb
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 28.06.2006
Сообщения: 189

СообщениеДобавлено: Пт Мар 14, 2008 11:25    Заголовок сообщения: Ответить с цитатой

msblast, спасибо за добавку к шелу.

1. Сейчас исходные файлы удаляются только если для обработки предложен каталог. Мне просто в голову не приходило, что кому-то может понадобиться удалять одиночный файл.
Если нужно - могу поправить.

2. Я не могу сказать как с проблемой доступа на уровне WScript. А на программном проблема состоит в том, что скрипт использует временный каталог первого уровня - %TEMP%. Т.е. разные копии скрипта записали туда данный, каждая из них начинает их все обрабатывать. Та копия, которая закончила раньше - затрет этот каталог и у более "поздней" возникнет ошибка доступа. Как это обойти в скрипте - я не знаю Sad

Добавлено спустя 2 часа 30 минут 31 секунду:

Новая версия 0.57
http://www.freefile.ru/files/3968
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


WhiteOwl
Новенький участник форума

Новенький участник форума

Зарегистрирован: 16.04.2007
Сообщения: 70

СообщениеДобавлено: Вт Окт 07, 2008 21:04    Заголовок сообщения: Ответить с цитатой

А у меня MSXML парсер выдавал русские тексты в юникоде, (у меня оригинальная английская XP SP3) поэтому функция translit() делала чушь...
Переправил ее вот так:
Код:
Function Translit(ByVal InputText)
   Dim tmp, i, pos, char
   dim cp1251(33)
   If IsNull(InputText) Then Exit Function
   if Trans=0 then
      Translit = InputText
      exit function
   end if

   cp1251(01)="a"
   cp1251(02)="b"
   cp1251(03)="v"
   cp1251(04)="g"
   cp1251(05)="d"
   cp1251(06)="e"
   cp1251(07)="zh"
   cp1251(08)="z"
   cp1251(09)="i"
   cp1251(10)="j"
   cp1251(11)="k"
   cp1251(12)="l"
   cp1251(13)="m"
   cp1251(14)="n"
   cp1251(15)="o"
   cp1251(16)="p"
   cp1251(17)="r"
   cp1251(18)="s"
   cp1251(19)="t"
   cp1251(20)="u"
   cp1251(21)="f"
   cp1251(22)="h"
   cp1251(23)="c"
   cp1251(24)="ch"
   cp1251(25)="sh"
   cp1251(26)="sht"
   cp1251(27)=""
   cp1251(28)="y"
   cp1251(29)=""
   cp1251(30)="eh"
   cp1251(31)="ju"
   cp1251(32)="ja"
   cp1251(33)="jo"



   for i=1 to len(InputText)
      char = mid(InputText, i, 1)

      if (ascw(char)>=1040 and ascw(char)<=1103) or ascw(char)=1105 then
         ' unicode cyrillic,
         '    32 symbols of upper case first (no "Ё")
         '    follows by 32 symbols of lower case first and special case - lower case "ё"
         if ascw(char)<=1071 then ' upper case "Я"
            char = ucase(cp1251(ascw(char)-1039))
         elseif   ascw(char)=1105 then
            char = cp1251(33)
         else
            char = cp1251(ascw(char)-1071)
         end if
      elseif ascw(char)=32 then ' space
         char="_"
      elseif (ascw(char)>32 and ascw(char)<48) or (ascw(char)>57 and ascw(char)<65) then
         ' all "special" symbols
         char=""
      end if
      tmp = tmp & char
   next

   ' for debug
   'wscript.echo "Text to translit=" & InputText & chr(13) & "result=" & tmp
   Translit = tmp
End Function

Названия жанров заданные по русски и все русские сообщения все равно выдаются в испорченной кодировке. Константы заданные внутри vbs в CP1251 не читаются, пока не знаю почему. Но зато главная задача была выполнена - книги по каталогам разбросаны...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


bayl
Новенький участник форума

Новенький участник форума

Зарегистрирован: 08.10.2008
Сообщения: 2

СообщениеДобавлено: Чт Окт 09, 2008 10:29    Заголовок сообщения: Ответить с цитатой

Форумчане поделитесь пожалуйста этим скриптом, а то хостинг на котором он лежал закрылся. Заранее спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Cd_spb
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 28.06.2006
Сообщения: 189

СообщениеДобавлено: Пт Окт 10, 2008 14:09    Заголовок сообщения: Ответить с цитатой

Без проблем:
Версия 0.58
Rapida ExpRename_0.58RC
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


WhiteOwl
Новенький участник форума

Новенький участник форума

Зарегистрирован: 16.04.2007
Сообщения: 70

СообщениеДобавлено: Пт Окт 10, 2008 17:23    Заголовок сообщения: Ответить с цитатой

Cd_spb, а что нового то в новой версии?

И еще пара хотелок:
- Добавить еще один уровень каталогов - группировать авторов по первой букве фамилии. Ключ -a=Х (0 - по умолчанию работать как сейчас, 1 - сортировать авторов по алфавиту)
- Вместо простого копирования fb2 файла, делать сохранение его через тот же msxml, это во первых добавит дополнительную страховку от кривых fb2, а во вторых позволит добавить ключик -cp=XXXX и чтоб там можно было задавать UTF8 или cp1251 или все что только msxml примет как возможную кодировку.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Cd_spb
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 28.06.2006
Сообщения: 189

СообщениеДобавлено: Сб Окт 11, 2008 11:11    Заголовок сообщения: Ответить с цитатой

Изначально мне нужно было сохранение пачки fb2 в текст. Да вот разросся.
Я уже было начал переписывать этот скрипт на Сях, но забросил - сначала плагин для Библиотрекаря.НЕТ, сейчас вплотную занялся линухом.
Если хотите - берите, корректируйте. В плане сохранения там все тривиально. Редактировать в обычном текстовом редакторе, ест-но не ворде Smile
Если будут вопросы - обращайтесь, может смогу помочь.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


bayl
Новенький участник форума

Новенький участник форума

Зарегистрирован: 08.10.2008
Сообщения: 2

СообщениеДобавлено: Вс Окт 12, 2008 12:27    Заголовок сообщения: Ответить с цитатой

Спасибо за сслыку
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> Сделано для FB Часовой пояс: GMT + 3
На страницу Пред.  1, 2
Страница 2 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group