Страница 1 из 2
Вывод descript.ion в файл удобочитаемый
Добавлено: Чт сен 01, 2011 11:29
slideray
Как вывести содержимое descript.ion в *.txt, в читабельном виде?
Т.е. чтобы были сохранены переносы строк и желательно отделялось имя файла, скажем, тем же переносом строки.
Есть ли листер плагин, позволяющий корректно отображать descript.ion, сохраняя форматирование?
Добавлено: Чт сен 01, 2011 11:49
Вахмурка
Плагина нет. Думаю, по очень простой причине - это никому, кроме тебя, не нужно.
Есть программы, производящие пакетную замену, в том числе и из командной строки. Ссылки и названия давать не буду, чтобы не
нарушить. Эти программы могут заменить \n на реальный перевод строки.
А вот отделять имя файла от комментария будет посложнее. Жди, пока кто-то из наших гуру напишет скрипт. Я пас, потому что сейчас занят, а полезность задачи лично для себя не вижу.
Добавлено: Пт сен 02, 2011 21:01
Tol!k
Код: Выделить всё
TOTALCMD#BAR#DATA
%comspec% /k chcp 1251>nul &ssed.exe
-r -e s/(^\"[^\"]+\")*\s/\1\n/;s/В$/\n\n/g;s/\\n/\n/g; descript.ion
shell32.dll,1
что в descript.ion ?
-1
окно закрывать [x]-м
sed тоже работает
Добавлено: Вс сен 04, 2011 03:58
slideray
Tol!k
Выглядит очень интересно, насколько я понял это кнопка? Можно немного подробнее об использовании, у меня при нажатии в окне командной строки выводится следующий текст:
Код: Выделить всё
"ssed.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
...и ничего не происходит. Что вообще нужно ждать от скрипта, что и как он делает?
[mod="Avada"]Избыточное цитирование удалено. Соблюдаем
правила.[/mod]
Добавлено: Вс сен 04, 2011 13:00
Tol!k
Это кнопка. Установка курсора на descript.ion не важна.
В папку, прописанную в %path% нужно положить
http://sed.sourceforge.net/grabbag/ssed/sed-3.62.zip или любой windows-порт
sed (при этом нужно будет в кнопке исправить ssed.exe на sed.exe)
Или прописать полный путь
%commander_path%\Utils\ssed.exe
Добавлено: Ср сен 07, 2011 06:40
slideray
Отлично, работает! Спасибо. То что нужно.
А возможно ли прописать это по такой схеме:
файл "ssed.exe" лежит в определенной папке и к нему происходит обращение,
после чего обрабатывался каталог активной панели,
листинг выдается в текстовом файле, сохраняемом рядом с descript.ion с именем descript.txt
(дискомфорт вызывает необходимость укладывать файл ssed.exe в папку рядом c descript.ion, листинг требует дополнительной обработки - выковыривания из командной строки)
Вообще грандиозно было бы - вычленение коментариев из выделенных файлов (в текстовый файл или буфер обмена) по той же схеме форматирования:
"Имя файла" (перенос строки)
Коментарий
Добавлено: Ср сен 07, 2011 11:17
Batya
slideray
Если необходимо только отображение (без формирования дополнительных файлов), то можно использовать
Script plugin-maker.
Для треуемой задачи файл wlx_vbscript.vb:
Код: Выделить всё
font_name = "Fixedsys"
font_size = 12
view_end = "false"
view_wrap = "true"
view_scroll = "both"
view_backgroundcolor = "white"
view_textcolor = "black"
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
result_text = ""
If LCase(FSO.GetFileName(file_name)) = "descript.ion" Then
ReadFile
RegReplace "\r", ""
RegReplace "^([^ ""]+)\s+", """$1"" "
RegReplace "^""([^""]+)""\s+(.+)$", "$1" & vbNewLine & " $2"
RegReplace "\\n", vbNewLine & " "
RegReplace Chr(4) & "В$", ""
End If
Sub ReadFile()
AddLine FSO.OpenTextFile(file_name, 1).ReadAll
End Sub
Sub RegReplace(a, b)
With New RegExp
.Global = True
.IgnoreCase = True
.MultiLine = True
.Pattern = a
result_text = .Replace(result_text,b)
End With
End Sub
slideray писал(а):дискомфорт вызывает необходимость укладывать файл ssed.exe в папку рядом c descript.ion
Этого не нужно делать:
Tol!k писал(а):Или прописать полный путь %commander_path%\Utils\ssed.exe
Т.е. в кнопке пиши не просто ssed.exe, а с путём.
Добавлено: Ср сен 07, 2011 18:25
Tol!k
slideray писал(а):дискомфорт вызывает необходимость укладывать файл ssed.exe в папку рядом c descript.ion
не надо рядом,
надо в одну из папок, перечисленных в %path% (напр. C:\Windows\)
удобнее свою папку с подобными утилитами добавить к %path%
или прописать в кнопке полный путь к ssed.exe
Код: Выделить всё
TOTALCMD#BAR#DATA
%comspec% /c chcp 1251>nul &>descript.txt ssed.exe
-r -e s/(^"[^"]+")*\s/\1\n/;s/В$/\n\n/g;s/\\n/\n/g; descript.ion
shell32.dll,1
descript.ion > descript.txt
1
-1
обрабатывается текущий каталог (без подпапок),
листинг выдается в текстовом файле, сохраняемом рядом с descript.ion с именем descript.txt
slideray писал(а):Вообще грандиозно было бы - вычленение коментариев из выделенных файлов (в текстовый файл или буфер обмена)
выделено несколько descript.ion'ов ? или что?
Добавлено: Ср сен 07, 2011 22:04
slideray
Tol!k писал(а):выделено несколько descript.ion'ов ? или что?
Нет, не descript.ion'ов, а из выделеных файлов (папок), в которых имеются коментарии (если среди выделенных файлов (папок) нет коментариев, они соответственно пропускаются).
Добавлено спустя 20 минут:
Эх, вообще не понял как им пользоваться (
Как wlx-плагин не хочет устанавливаться, пишет при установке "программа не запускается! (5)" да и как он работал бы тоже не понимаю.
в мануале к плагину написано:
В каталоге должен обязательно находиться текстовый файл
с именем как у плагина и расширением *.vb или *.js
То есть
wlx_vbscript.js - программа на VBScript
wlx_vbscript.vb - программа на JScript
а в самом файле допускается несколько скриптов?
Если возможно, дайте пожалуйста хотя бы краткое руководство по использованию плагина, возможности у него интересные.
Добавлено: Чт сен 08, 2011 19:17
Tol!k
slideray писал(а):выделено несколько descript.ion'ов ? или что?
Нет, не descript.ion'ов, а из выделеных файлов (папок), в которых имеются коментарии
в каком формате и как их отличить от других файлов
slideray писал(а):(если среди выделенных файлов (папок) нет коментариев, они соответственно пропускаются)
?
Или таки нужно вычленение
из descript.ion комментов
для выделенных файлов по типу
http://forum.wincmd.ru/viewpost.php?p=58180 но с перенаправлением не в поток, а в другой файл?
Добавлено: Чт сен 08, 2011 20:06
Flasher
slideray писал(а):Эх, вообще не понял как им пользоваться (
Как wlx-плагин не хочет устанавливаться, пишет при установке "программа не запускается! (5)" да и как он работал бы тоже не понимаю.
Проверил, всё работает. Win7 x86 TC 7.56a. А работает просто: отображается содержимое в текстовом формате, обработанное скриптом.
Только я не очень понял, зачем делать переносы строк и отступы под формат дерева.
slideray писал(а):wlx_vbscript.js - программа на VBScript
wlx_vbscript.vb - программа на JScript
Ошибка в описании, VB и J местами надо поменять.
slideray писал(а):а в самом файле допускается несколько скриптов?
Насколько я понял допускается для каждого языка по скрипту, содержимое которого можно настраивать под разные форматы.
slideray писал(а):Если возможно, дайте пожалуйста хотя бы краткое руководство по использованию плагина, возможности у него интересные.
Плагин чисто для скриптописателей. Написать переменные для настроек отображения, что в ридми приводятся и парсер по обработки содержимого файла под курсором или файла имеющего расширение, заданное условием в скрипте.
Добавлено: Пт сен 09, 2011 10:04
Batya
slideray писал(а):Эх, вообще не понял как им пользоваться (
Необходимо установить плагин обычным способом (читаем справку). При этом лучше в списке его переместить повыше (чтобы не перехватывался просмотр другими плагинами).
В папку плагина необходимо поместить файл с именем "wlx_vbscript.vb" и вышеприведённым содержимым. С плагином может работать только один скрипт. Даже если в папке есть ещё файл "wlx_vbscript.js", плагин будет использовать "wlx_vbscript.vb" (это есть в Readme.rus). Но никто не мешает этот скрипт "наворачивать" как угодно.
Соответственно, теперь при просмотре по F3 файлов descript.ion будет отображаться обработанный текст.
slideray писал(а):возможности у него интересные
Ну, не очень-то. Оформление можно применять только для всего текста сразу, нельзя применять разное для отдельных фрагментов текста. Не работает копирование.
Flasher писал(а):Только я не очень понял, зачем делать переносы строк и отступы под формат дерева.
Исключительно -
мне так захотелось. Мне удобнее
так визуально отделять имена файлов от комментариев.
Добавлено: Пт сен 09, 2011 16:00
Flasher
Batya писал(а):Исключительно - мне так захотелось. Мне удобнее так визуально отделять имена файлов от комментариев.
Я
так и подумал, что дело в
тебе.
Ты же придумывал скрипт.

Я бы тогда так сделал:
RegReplace "^""([^""]+)""\s+(.+)$", "$1" & vbNewLine & vbTab & "$2"
RegReplace "\\n", vbNewLine & vbTab
Добавлено: Пт сен 09, 2011 16:55
Batya
Flasher писал(а):Я бы тогда так сделал
Так и сделай.
Добавлено: Пт сен 09, 2011 18:43
Flasher
Дык не мне ж надо.
