View previous topic :: View next topic |
Author |
Message |
slideray
Joined: 28 Jun 2010 Posts: 115
|
(Separately) Posted: Thu Sep 01, 2011 11:29 Post subject: Вывод descript.ion в файл удобочитаемый |
|
|
Как вывести содержимое descript.ion в *.txt, в читабельном виде?
Т.е. чтобы были сохранены переносы строк и желательно отделялось имя файла, скажем, тем же переносом строки.
Есть ли листер плагин, позволяющий корректно отображать descript.ion, сохраняя форматирование? |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
(Separately) Posted: Thu Sep 01, 2011 11:49 Post subject: |
|
|
Плагина нет. Думаю, по очень простой причине - это никому, кроме тебя, не нужно.
Есть программы, производящие пакетную замену, в том числе и из командной строки. Ссылки и названия давать не буду, чтобы не нарушить. Эти программы могут заменить \n на реальный перевод строки.
А вот отделять имя файла от комментария будет посложнее. Жди, пока кто-то из наших гуру напишет скрипт. Я пас, потому что сейчас занят, а полезность задачи лично для себя не вижу. _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Fri Sep 02, 2011 21:01 Post subject: |
|
|
Code: | 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 тоже работает |
|
Back to top |
|
|
slideray
Joined: 28 Jun 2010 Posts: 115
|
(Separately) Posted: Sun Sep 04, 2011 03:58 Post subject: |
|
|
Tol!k
Выглядит очень интересно, насколько я понял это кнопка? Можно немного подробнее об использовании, у меня при нажатии в окне командной строки выводится следующий текст: Code: | "ssed.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом. | ...и ничего не происходит. Что вообще нужно ждать от скрипта, что и как он делает?
! | Avada: | Избыточное цитирование удалено. Соблюдаем правила. | |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sun Sep 04, 2011 13:00 Post subject: |
|
|
Это кнопка. Установка курсора на descript.ion не важна.
В папку, прописанную в %path% нужно положить http://sed.sourceforge.net/grabbag/ssed/sed-3.62.zip или любой windows-порт sed (при этом нужно будет в кнопке исправить ssed.exe на sed.exe)
Или прописать полный путь %commander_path%\Utils\ssed.exe |
|
Back to top |
|
|
slideray
Joined: 28 Jun 2010 Posts: 115
|
(Separately) Posted: Wed Sep 07, 2011 06:40 Post subject: |
|
|
Отлично, работает! Спасибо. То что нужно.
А возможно ли прописать это по такой схеме:
файл "ssed.exe" лежит в определенной папке и к нему происходит обращение,
после чего обрабатывался каталог активной панели,
листинг выдается в текстовом файле, сохраняемом рядом с descript.ion с именем descript.txt
(дискомфорт вызывает необходимость укладывать файл ssed.exe в папку рядом c descript.ion, листинг требует дополнительной обработки - выковыривания из командной строки)
Вообще грандиозно было бы - вычленение коментариев из выделенных файлов (в текстовый файл или буфер обмена) по той же схеме форматирования:
"Имя файла" (перенос строки)
Коментарий |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Wed Sep 07, 2011 11:17 Post subject: |
|
|
slideray
Если необходимо только отображение (без формирования дополнительных файлов), то можно использовать Script plugin-maker.
Для треуемой задачи файл wlx_vbscript.vb:
Code: | 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 wrote: | дискомфорт вызывает необходимость укладывать файл ssed.exe в папку рядом c descript.ion |
Этого не нужно делать: Tol!k wrote: | Или прописать полный путь %commander_path%\Utils\ssed.exe |
Т.е. в кнопке пиши не просто ssed.exe, а с путём. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Wed Sep 07, 2011 18:25 Post subject: |
|
|
slideray wrote: | дискомфорт вызывает необходимость укладывать файл ssed.exe в папку рядом c descript.ion | не надо рядом,
надо в одну из папок, перечисленных в %path% (напр. C:\Windows\) удобнее свою папку с подобными утилитами добавить к %path%
или прописать в кнопке полный путь к ssed.exe
Code: | 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 wrote: | Вообще грандиозно было бы - вычленение коментариев из выделенных файлов (в текстовый файл или буфер обмена) | выделено несколько descript.ion'ов ? или что? |
|
Back to top |
|
|
slideray
Joined: 28 Jun 2010 Posts: 115
|
(Separately) Posted: Wed Sep 07, 2011 21:44 Post subject: |
|
|
Tol!k wrote: | выделено несколько descript.ion'ов ? или что? |
Нет, не descript.ion'ов, а из выделеных файлов (папок), в которых имеются коментарии (если среди выделенных файлов (папок) нет коментариев, они соответственно пропускаются).
Добавлено спустя 20 минут:
Эх, вообще не понял как им пользоваться (
Как wlx-плагин не хочет устанавливаться, пишет при установке "программа не запускается! (5)" да и как он работал бы тоже не понимаю.
в мануале к плагину написано: Quote: | В каталоге должен обязательно находиться текстовый файл
с именем как у плагина и расширением *.vb или *.js
То есть
wlx_vbscript.js - программа на VBScript
wlx_vbscript.vb - программа на JScript | а в самом файле допускается несколько скриптов?
Если возможно, дайте пожалуйста хотя бы краткое руководство по использованию плагина, возможности у него интересные. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Thu Sep 08, 2011 19:17 Post subject: |
|
|
slideray wrote: | Quote: | выделено несколько descript.ion'ов ? или что? | Нет, не descript.ion'ов, а из выделеных файлов (папок), в которых имеются коментарии | в каком формате и как их отличить от других файлов slideray wrote: | (если среди выделенных файлов (папок) нет коментариев, они соответственно пропускаются) | ?
Или таки нужно вычленение из descript.ion комментов для выделенных файлов по типу http://forum.wincmd.ru/viewpost.php?p=58180 но с перенаправлением не в поток, а в другой файл? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Sep 08, 2011 20:06 Post subject: |
|
|
slideray wrote: | Эх, вообще не понял как им пользоваться (
Как wlx-плагин не хочет устанавливаться, пишет при установке "программа не запускается! (5)" да и как он работал бы тоже не понимаю. | Проверил, всё работает. Win7 x86 TC 7.56a. А работает просто: отображается содержимое в текстовом формате, обработанное скриптом.
Только я не очень понял, зачем делать переносы строк и отступы под формат дерева.
slideray wrote: | wlx_vbscript.js - программа на VBScript
wlx_vbscript.vb - программа на JScript | Ошибка в описании, VB и J местами надо поменять.
slideray wrote: | а в самом файле допускается несколько скриптов? | Насколько я понял допускается для каждого языка по скрипту, содержимое которого можно настраивать под разные форматы. slideray wrote: | Если возможно, дайте пожалуйста хотя бы краткое руководство по использованию плагина, возможности у него интересные. | Плагин чисто для скриптописателей. Написать переменные для настроек отображения, что в ридми приводятся и парсер по обработки содержимого файла под курсором или файла имеющего расширение, заданное условием в скрипте. |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Fri Sep 09, 2011 10:04 Post subject: |
|
|
slideray wrote: | Эх, вообще не понял как им пользоваться ( |
Необходимо установить плагин обычным способом (читаем справку). При этом лучше в списке его переместить повыше (чтобы не перехватывался просмотр другими плагинами).
В папку плагина необходимо поместить файл с именем "wlx_vbscript.vb" и вышеприведённым содержимым. С плагином может работать только один скрипт. Даже если в папке есть ещё файл "wlx_vbscript.js", плагин будет использовать "wlx_vbscript.vb" (это есть в Readme.rus). Но никто не мешает этот скрипт "наворачивать" как угодно.
Соответственно, теперь при просмотре по F3 файлов descript.ion будет отображаться обработанный текст.
slideray wrote: | возможности у него интересные | Ну, не очень-то. Оформление можно применять только для всего текста сразу, нельзя применять разное для отдельных фрагментов текста. Не работает копирование.
Flasher wrote: | Только я не очень понял, зачем делать переносы строк и отступы под формат дерева. | Исключительно - мне так захотелось. Мне удобнее так визуально отделять имена файлов от комментариев. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Sep 09, 2011 16:00 Post subject: |
|
|
Batya wrote: | Исключительно - мне так захотелось. Мне удобнее так визуально отделять имена файлов от комментариев. | Я так и подумал, что дело в тебе. Ты же придумывал скрипт.
Я бы тогда так сделал:
Quote: | RegReplace "^""([^""]+)""\s+(.+)$", "$1" & vbNewLine & vbTab & "$2"
RegReplace "\\n", vbNewLine & vbTab |
|
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Fri Sep 09, 2011 16:55 Post subject: |
|
|
Flasher wrote: | Я бы тогда так сделал |
Так и сделай. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Sep 09, 2011 18:43 Post subject: |
|
|
Дык не мне ж надо. |
|
Back to top |
|
|
|