[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Andrey_A, ХарВик, chip642  
ЗАКАЗ СКРИПТОВ
Andrey_AДата: Среда, 29.02.2012, 23:46 | Сообщение № 1
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
ЗАКАЗ СКРИПТОВ




В этой теме Вы можете высказывать идеи о написании того или иного скрипта. Если Вы столкнулись с монотонной задачей, которую можно автоматизировать и не знаете как это сделать, Вы можете описать свою проблему здесь и возможно найдутся те, кто подскажет как её решить.
Большая просьба чётко описывать задачу, от этого будет зависеть качество её решений

Готовые решения будут открепляться в отдельные темы

[info]
Тема по большому счёту закрыта, т.к. я больше не пишу отдельных скриптов...
Большинство скриптов для Total Commander вошли в функционал в утилиты TCIMG

[/info]



 
JKTДата: Пятница, 21.11.2014, 01:19 | Сообщение № 271
Генерал-майор

На сайте с: 01.02.2012
Город: Харьков
Сообщений: 371
Награды: 7
Репутация: 7
Уважаемые, есть ооочень много не валидных файлов CUE (cuesheet). Вобщем один плеер (AIMP) их понимает, а другие (foobar и др.), работающие по более строгим стандартам нет.
Вот пример такого:

Проблема в том, что все, что находится после TITLE и PERFORMER (через пробел), должно быть заключено кавычки, а в этих файлах, как видно они то есть, то нет, то только одна кавычка или открывающая или закрывающая, т.е непонятно какой слепой их печатал эти файлы.
Вообщем надо проставить где надо (после этих TITLE и PERFOMER) кавычки.
Т.е. сейчас:

TITLE "The Delta Of The Red River
PERFORMER Enigmatic Obsession
INDEX 01 09:03:04
а надо:

TITLE "The Delta Of The Red River"
PERFORMER "Enigmatic Obsession"
INDEX 01 09:03:04

И еще, под спойлером видно начало файла:
Код
;
;--[ Created by Medieval CUE Splitter! ]--
;
;-----------[ www.medieval.it ]-----------
;
так вот, надо поудалять всё от символа ; (включая его) и до конца строк
И в завершении надо сохранить эти файлы в кодировке ANSI (сейчас они вразнобой, то ANSI то UTF).

Можно ли все это сделать скриптом? Возможно этот вопрос больше касается AkelPad, но уж очень много придется открывать в редакторе.
Спасибо.


Сообщение отредактировал JKT - Пятница, 21.11.2014, 01:21
 
Andrey_AДата: Пятница, 21.11.2014, 03:58 | Сообщение № 272
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
JKT, для работы над текстовыми файлами я берусь только когда есть несколько файлов ДО и ПОСЛЕ
Нужно выслать архив с проблемным(и) файлом(ами) и файлом(ами) который(е) должны быть в результате обработки.
(все это для экономии времени... из опыта написания скриптов для AkelPad Image)
т.е необходимо не только на словах, но и визуально (и для тестирования) их иметь под рукой.
Чем их больше тем лучше (при сложных вариациях).


 
JKTДата: Пятница, 21.11.2014, 11:55 | Сообщение № 273
Генерал-майор

На сайте с: 01.02.2012
Город: Харьков
Сообщений: 371
Награды: 7
Репутация: 7
Andrey_A,
Вот
 
Andrey_AДата: Суббота, 22.11.2014, 20:33 | Сообщение № 274
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
JKT, Теперь я вижу проблему визуально, решение:

Привести к нормальному виду выделенные не валидные -CUE файлы
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
textx=%L||&&((TITLE|PERFORMER)~~)(''+)?([^\r\n'']+)(''+)?!!$1''$4''||&&(~~+)?;[^\r\n]*!!||formt<59,60>||upd<1>
%COMMANDER_PATH%\Wcmicons.dll,414
Привести к нормальному виду выделенные не валидные -CUE файлы

0
-1


------------ Добавлено ------------

Ещё я заметил файлы ДО имеют разную кодировку (наверно они нужны в одной какой-то...), если необходимо, чтобы выходные фалы имели кодировку ANSI 1251, то надо дописать параметр code<0>

Подробности:
[helpquote]Кодировка. Параметр code, где Number:
0 - ANSI 1251
1 - UTF-16 LE 1200
2 - UTF-16 BE 1201
3 - UTF-8 с BOM
4 - UTF-8 без BOM[/helpquote]

Код
textx=%L||&&((TITLE|PERFORMER)~~)(''+)?([^\r\n'']+)(''+)?!!$1''$4''||&&(~~+)?;[^\r\n]*!!||formt<59,60>||code<0>||upd<1>


 
JKTДата: Суббота, 22.11.2014, 22:01 | Сообщение № 275
Генерал-майор

На сайте с: 01.02.2012
Город: Харьков
Сообщений: 371
Награды: 7
Репутация: 7
Andrey_A,
Спасибо огромное! Все работает отлично. Ты мне кучу времени сэкономил. Кстати, на трекерах в раздачах образов дисков с CUE, часто ругаются, что эти файлы не в стандарте заполнены. А этот скрипт как раз и приводит все в норму.
Еще раз спасибо!
 
Andrey_AДата: Суббота, 22.11.2014, 22:04 | Сообщение № 276
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
Код
А этот скрипт

JKT, это не скрипт, а волшебная утилита TCIMG :)
Хорошо, что всё работает!


 
JKTДата: Воскресенье, 23.11.2014, 00:34 | Сообщение № 277
Генерал-майор

На сайте с: 01.02.2012
Город: Харьков
Сообщений: 371
Награды: 7
Репутация: 7
Andrey_A,
А вот как бы поправить параметры кнопки?
Слева на скрине как должно быть, а справа - после обработки кнопкой (удаляется "перевод каретки" в самом конце файла) из за этого не просчитывается время. Т.е. надо чтоб в конце не убиралась эта пустая строка, которая есть в исходных файлах, а если ее нет, то добавлялась.
 
Andrey_AДата: Воскресенье, 23.11.2014, 00:41 | Сообщение № 278
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
JKT, вроде так отрабатывает нормально:

Код
textx=%L||&&((TITLE|PERFORMER)~~)(''+)?([^\r\n'']+)(''+)?!!$1''$4''||&&(~~+)?;[^\r\n]*!!||$$@CRLF||formt<59,51>||code<0>||upd<1>


 
JKTДата: Воскресенье, 23.11.2014, 00:44 | Сообщение № 279
Генерал-майор

На сайте с: 01.02.2012
Город: Харьков
Сообщений: 371
Награды: 7
Репутация: 7
Andrey_A,
Спасибо! Вот теперь все ОК! up
 
Andrey_AДата: Среда, 26.11.2014, 23:09 | Сообщение № 280
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
Цитата
у меня есть txt файл, нужно с помощью vbs удалить определённые строки, допустим от 1 до 50. без сторонних программ! только vbs


Код
' удаление из файла 50 первых строк
Set FSO = CreateObject("Scripting.FileSystemObject")
File = "C:\Test\Name.txt"
List = Split(FSO.OpenTextFile(File).ReadAll, vbNewLine)
iCount = Ubound(List)
Text = ""
If iCount >=  50 Then
   For i = 50 To iCount
     Text = Text& List(i) & vbNewLine
   Next
End If
FSO.CreateTextFile(File).Write Text
Set FSO = Nothing


 
Andrey_AДата: Четверг, 27.11.2014, 00:23 | Сообщение № 281
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
Код
подскажите пожалуйста я запутался, хочу скопировать файл txt в другое место, vbs запускается прямо с папки где находится лог, и работает в цикле, проблема заключается в том что название бывает разное! скажите как можно скопировать файл по маске, т.е. у меня в папке .txt файлов только 1 всегда


Код
' копировать файл job_log.txt из той же папки, где лежит скрипт в папку D:\Test\ с перезаписью, если существует
Set FSO = CreateObject("Scripting.FileSystemObject")
File = FSO.GetParentFolderName(WScript.ScriptFullName) & "\job_log.txt"
Folder = "D:\Test\" ' куда копировать
On Error Resume Next
FSO.CopyFile File, Folder, True ' True (перезаписывать). , False - не перезаписывать
Set FSO = Nothing


Код
' копировать все файлы .txt из той же папки, где лежит скрипт в папку D:\Test\ с перезаписью, если существуют
Set FSO = CreateObject("Scripting.FileSystemObject")
File = FSO.GetParentFolderName(WScript.ScriptFullName) & "\*.txt"
Folder = "D:\Test\" ' куда копировать
On Error Resume Next
FSO.CopyFile File, Folder, True ' True (перезаписывать). , False - не перезаписывать
Set FSO = Nothing


 
JKTДата: Пятница, 28.11.2014, 04:28 | Сообщение № 282
Генерал-майор

На сайте с: 01.02.2012
Город: Харьков
Сообщений: 371
Награды: 7
Репутация: 7
Цитата
подскажите пожалуйста я запутался, хочу скопировать файл txt в другое место, vbs запускается прямо с папки где находится лог, и работает в цикле, проблема заключается в том что название бывает разное! скажите как можно скопировать файл по маске, т.е. у меня в папке .txt файлов только 1 всегда

Андрей, большая тебе уважуха. Как ты справляешься с ... Не.... Я ничего такого.... Просто читал.. потом еще читал... потом еще читал... но так ничего и не понял. Видать ты экстрасенс, что можешь по такому описанию проблемы еще и ее решить :)
Не.. Это не в коим образом не касается автора просьбы... Просто прикольно
Извините за этот off topic


Сообщение отредактировал JKT - Пятница, 28.11.2014, 04:42
 
Andrey_AДата: Пятница, 28.11.2014, 05:06 | Сообщение № 283
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
[off]
Цитата
Видать ты экстрасенс

JKT, был бы экстрасенс дал бы один код))) а так вот два [/off]


 
HanNunenSinhДата: Пятница, 05.12.2014, 19:14 | Сообщение № 284
Рядовой

На сайте с: 05.12.2014
Город: Нижний Новгород
Сообщений: 4
Награды: 1
Репутация: 0
Можно сделать что нибудь для группового переименования тегов в файлах fb2. К примеру названия автор жанр и тд.
 
Andrey_AДата: Пятница, 05.12.2014, 20:13 | Сообщение № 285
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
Цитата
Можно сделать что нибудь для группового переименования тегов в файлах fb2

Я с ними не работаю, если вы бы скинули десятка 2 в архиве и наглядно показали где они лежат (теги), то возможно можно.


 
Поиск:

Интеллектуальные права и отказ от ответственности