Страница 2 из 2
Добавлено: Пн сен 12, 2011 04:38
slideray
Да, ребятушки! Класс! Сработали оба способа, и через листер плагин получилось и через кнопку. Спасибо большое за своевременную помощь, действительно очень было надо (да и будет еще). Сразу отписаться не удалось. А дело было, если интересно, в следующем: Поставил на закачку большое количество торрентов, и сами торрент файлы забил комментами - полное (настоящее) название файла, потому как бывают названы либо сокращениями, либо вообще непойми чем... после закачки из одной кучи все разобрать было бы проблематично.
Вот я групповым переименованием и обозвал уже закаченные торренты по именам из списка (в файле) (предварительно отредактировав его в редакторе, так как в комментариях помимо самих названий файлов к ним были еще и описания)
Batya писал(а): (про возможности плагина) Ну, не очень-то. Оформление можно применять только для всего текста сразу, нельзя применять разное для отдельных фрагментов текста.
И все же интерес для меня представляет. очень даже пригодился )
А синтаксис в скриптах используется исключительно дельфийский? (я не компетентен в вопросах ппрограммирования, так что не ругайте сильно...) И еще, копирование из вообще невозможно?
Tol!k писал(а):Или таки нужно вычленение из descript.ion комментов для выделенных файлов...
Да, именно! Но можеш уточнить, нужно ли там указывать полный путь к ssed.exe (где именно) и как коментарий направить в файл а не в поток. И что значит поток? Приведи, если не трудно, вариант скрипта с условием, что ssed.exe лежит по адресу:
%Commander_Path%\SCRIPTS\ssed.exe
и коменты сохраняются в файл.
Добавлено: Вт сен 13, 2011 02:01
Tol!k
Код: Выделить всё
@echo off &setlocal enableextensions &chcp 1251 >nul
rem Добавление комментариев из descript.ion в файл descript.txt
rem Параметры для ТС: "%F" descript.txt
rem Используется sed
set sed="%Commander_Path%\SCRIPTS\ssed.exe"
if "%~2"=="" exit
for /f "usebackq delims=" %%f in ("%~1") do call :d "%%f" %2
goto :eof
:d
set "f=%~1"
set "f=%f:\=%"
if "%f%"=="%f: =%" (
%sed% -n -e /^%f%\s/p descript.ion |>>%2 %sed% -r -e s/(^\"[^\"]+\")*\s/\1\n/;s/В$/\n/g;s/\\n/\n/g
) else (
%sed% -n -e /"^\"%f%\"\s"/p descript.ion |>>%2 %sed% -r -e s/(^\"[^\"]+\")*\s/\1\n/;s/В$/\n/g;s/\\n/\n/g
)
goto :eof
Добавлено: Ср сен 14, 2011 20:49
slideray
Я лузер! Не работает.
Создаю кнопку:
Код: Выделить всё
TOTALCMD#BAR#DATA
%comspec% /c %COMMANDER_PATH%\descript2comment.cmd
%F
%COMMANDER_PATH%\WCMICONS0.DLL,63
Добавить комментарии из descript.ion в поток :comment.txt
-1
Далее кидаю вышеприведенный скрипт в файл:
"%COMMANDER_PATH%\descript2comment.cmd"
Тыкаю кнопку при выделенном файле, содержащем коментарий
- ничего не происходит.
Тыкаю кнопку при выделенном файле descript.ion
- ничего не происходит.
Тыкаю кнопку не выделяя ничего, курсор над файлом descript.ion
- ничего не происходит.
Тыкаю кнопку не выделяя ничего, курсор над файлом содержащем комент
- ничего не происходит.
Что я делаю не так? Что должно происходить? При каком условии?
Добавлено: Ср сен 14, 2011 21:03
Flasher
Лузер - это неудачник. Только на невезение это не похоже. Тут с внимательностью проблемы.
slideray писал(а):%comspec% /c %COMMANDER_PATH%\descript2comment.cmd
Это-то зачем?
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\descript2comment.cmd
"%F" descript.txt
%COMMANDER_PATH%\WCMICONS0.DLL,63
Добавить комментарии из descript.ion в поток :comment.txt
Добавлено: Ср сен 14, 2011 21:15
Tol!k
slideray
Параметры для ТС: "%F" descript.txt
Выделять файлы, для которых нужно вытянуть комментарии
[mentor mode]
...при выделенном файле, содержащем коментарий
Нет в файле комментария. Комментарии находятся в descript.ion
Правильно: "...при выделенном файле, для которого descript.ion содержит комментарий",
"...при выделенном файле, для которого есть комментарий (в descript.ion)"
[/mentor mode]
Добавлено спустя 10 минут:
Flasher писал(а):%comspec% /c %COMMANDER_PATH%\descript2comment.cmd
Это-то зачем?
В процессе отладки, бывает приходится менять /c на /k
Не существенно.
А вот %COMMANDER_PATH%\*.cmd стоит взять в кавычки.
И придумать другое название для файла.
И исправить название кнопки.
Добавлено: Ср сен 14, 2011 21:21
slideray
Есть! Получилось! Спасибо!
после обращения к файлу *.cmd (в данном случае descript2comment.cmd), файл становится защищен от записи и не может быть изменен/удален. Какой процесс пользует файл? Как его разблокировать? (даже unlocker не помогает)
Добавлено: Ср сен 14, 2011 21:27
Flasher
Tol!k писал(а):А вот %COMMANDER_PATH%\*.cmd стоит взять в кавычки.
И придумать другое название для файла.
Если писать эту переменную в начале, как у меня, то не стоит.
А что с названием не так?
Добавлено: Ср сен 14, 2011 21:36
Tol!k
slideray
Ну, вроде кроме cmd.exe никто его не должен использовать.
cmd.exe закончил работать (чёрное окно не висит)?
В редакторе .cmd не открыт ?
Добавлено спустя 6 минут:
Flasher писал(а):%COMMANDER_PATH%\*.cmd стоит взять в кавычки.
И придумать другое название для файла.
Если писать эту переменную в начале, как у меня, то не стоит.
А если в %COMMANDER_PATH% есть пробел?
Flasher писал(а):А что с названием не так?
Ну, какбы уже есть на форуме
код с таким названием
Добавлено: Ср сен 14, 2011 21:41
Flasher
Tol!k писал(а):А если в %COMMANDER_PATH% есть пробел?
Об том и речь. Гислер этот момент запрограммировал. Кавычки не требуются.
Tol!k писал(а):Ну, какбы уже есть на форуме код с таким названием
Ну, так в любом случае в одной папке одноимённые файлы не могут находиться.

Добавлено: Ср сен 14, 2011 21:43
slideray
Tol!k писал(а):slideray
cmd.exe закончил работать (чёрное окно не висит)?
не висит.
В редакторе .cmd не открыт ?
не открыт
А если в %COMMANDER_PATH% есть пробел?
пробела нет
Flasher писал(а):А что с названием не так?
не, с названием все ок, просто у меня там эксперименты были, вот я и хотел именно под этим названием рабочий скрипт поставить. Даже удалить не получается. Название по сути не важно, почему файл блокируется не пойму.
Если делаешь добавление коментариев повторным нажатием кнопки, то файл не перезаписывается (это хорошо), а коментарии дописываются, вот только дописываются они без переноса строки (т.е. сливаются с последним предыдущим коментарием) можно ли добавить перенос строки чтобы был либо перед первым коментарием либо после последнего? (меня понятно?)
Добавлено: Ср сен 14, 2011 23:57
Tol!k
коментарии дописываются, вот только дописываются они без переноса строки (т.е. сливаются с последним предыдущим коментарием) можно ли добавить перенос строки
замени
Код: Выделить всё
:d
set "f=%~1"
set "f=%f:\=%"
if "%f%"=="%f: =%" (
%sed% -n -e /^%f%\s/p descript.ion |>>%2 %sed% -r -e s/"(^[^ ]+)\s"/\n\1\n/;s/В$/\n/g;s/\\n/\n/g
) else (
%sed% -n -e /"^"%f%"\s"/p descript.ion |>>%2 %sed% -r -e s/(^"[^"]+")\s/\n\1\n/;s/В$/\n/g;s/\\n/\n/g
)
goto :eof
Добавлено спустя 6 минут:
Flasher писал(а):Гислер этот момент запрограммировал. Кавычки не требуются.
А вот такой момент запрограммировал?
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\descript2comment.cmd /левыйпараметр
"%F" descript.txt
Flasher писал(а):Ну, какбы уже есть на форуме код с таким названием
Ну, так в любом случае в одной папке одноимённые файлы не могут находиться.

Я не об этом. Я боюсь, что через некоторое время
slideray будет спрашивать про один код, а я буду чесать репу над другим
Добавлено: Чт сен 15, 2011 00:41
Flasher
Tol!k писал(а):А вот такой момент запрограммировал?
А почему нет? Конечно. У меня хватает кнопок с таким написанием.
Tol!k писал(а):а я буду чесать репу над другим
Андестенд.
Добавлено: Чт сен 15, 2011 19:50
slideray
Фантастика! Безупречно!