Возможна ли консольная работа с AkelPad?
- Author
- Message
-
Offline
- Posts: 6
- Joined: Wed Jul 14, 2010 2:12 pm
Возможна ли консольная работа с AkelPad?
Заметил одну интересную особенность - AkelPad может работать с заблокированными файлами совершенно непринужденно. Очистить/изменить/сохранить - всё это он делает без какого-либо облома. Может, я плохо искал, но я не смог найти ни одного похожего редактора или способа сделать это (отредактировать используемый другим приложением файл).
Дело в том, что мне переодически надо очищать один такой файл, потому что его объемы достигают очень больших размеров, в то время как в него пишет нужная мне программа, остановка которой для меня критична, но при это мнужно держать определенный размер файла. Возможно ли как-то через командную строку научить AkelPad открывать файл, очищать его содержимое, сохранять. Из командной строки - потому что мне надо автоматизировать данный процесс.
Руками я уже проверил - именно этот тип файлов, заблокированный данным приложением, АкелПад легко очищает/сохраняет. Не ожидал, но это здорово! Как бы только делать это авматически?
FAR данный файл не открывает в режиме редактирования, обычный виндовый блокнот не дает сохранять, а банальная команда echo text > file говорит о занятости данного файла.
Заранее спасибо!
P.S. На самом деле, говоря о большим объемах - я подразумеваю относительную величину (в мегабайт-два) - меня не обламывает количество занятого пространства как таковое, но дело в том, что анализ содержимого данного файла также переодически производит другое приложение, и когда объемы превышают определенные размеры - это становится приличный удар по системе.
Дело в том, что мне переодически надо очищать один такой файл, потому что его объемы достигают очень больших размеров, в то время как в него пишет нужная мне программа, остановка которой для меня критична, но при это мнужно держать определенный размер файла. Возможно ли как-то через командную строку научить AkelPad открывать файл, очищать его содержимое, сохранять. Из командной строки - потому что мне надо автоматизировать данный процесс.
Руками я уже проверил - именно этот тип файлов, заблокированный данным приложением, АкелПад легко очищает/сохраняет. Не ожидал, но это здорово! Как бы только делать это авматически?
FAR данный файл не открывает в режиме редактирования, обычный виндовый блокнот не дает сохранять, а банальная команда echo text > file говорит о занятости данного файла.
Заранее спасибо!
P.S. На самом деле, говоря о большим объемах - я подразумеваю относительную величину (в мегабайт-два) - меня не обламывает количество занятого пространства как таковое, но дело в том, что анализ содержимого данного файла также переодически производит другое приложение, и когда объемы превышают определенные размеры - это становится приличный удар по системе.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Отсюда:
- написать батник, работающий с АкелПадом или скрипт;
- заюзать вышенаписанное из какой-то внешней, постоянно висящей в памяти, проги типа "Планировщика заданий", но которая позволяет периодически выполнять какие-то настраиваемые действия (в данном случае - запускать скрипт).
Работа видится мне примерно так:Instructor wrote:Добавлено: возможность использования методов /OpenFile(), /SaveFile(), /Command(), /Call(), /Exec(), /Font(), /Recode(), /Insert() в командной строке. А также добавлены параметры /L+ и /L- для тихого ответа на сообщение о потере символов в указанной кодировке.
- написать батник, работающий с АкелПадом или скрипт;
- заюзать вышенаписанное из какой-то внешней, постоянно висящей в памяти, проги типа "Планировщика заданий", но которая позволяет периодически выполнять какие-то настраиваемые действия (в данном случае - запускать скрипт).
-
Offline
- Posts: 6
- Joined: Wed Jul 14, 2010 2:12 pm
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Всегда рад
По аналогии с другими плагами могу предположить, что очистка будет Insert(""), но оно заменит пустотой всё содержимое... Как же оставить там что-нибудь по объёму - не знаю. Возможно как-то через Call() вызвать какой-нибудь скрипт...
Кстати в AkelHelp-Rus.htm есть кое-какое описание!
Если через /Call("Scripts::Main", 1, "MyScript.js", fullfilename), то тогда наверное можно обойтись без /OpenFile и /SaveFile, это всё можно будет сделать внутри.
Как получить полный путь к файлу читайте про аргументы и см. примеры в теме Scripts collection по слову Arguments.
Думаю да. Хотя я сам не видел пока примеров...(bzmn wrote:akelpad.exe /OpenFile text.txt /command (какая-то команда с функцией очистки?) /SaveFile text.txt. Как-то так?
По аналогии с другими плагами могу предположить, что очистка будет Insert(""), но оно заменит пустотой всё содержимое... Как же оставить там что-нибудь по объёму - не знаю. Возможно как-то через Call() вызвать какой-нибудь скрипт...
Кстати в AkelHelp-Rus.htm есть кое-какое описание!
Если через /Call("Scripts::Main", 1, "MyScript.js", fullfilename), то тогда наверное можно обойтись без /OpenFile и /SaveFile, это всё можно будет сделать внутри.
Как получить полный путь к файлу читайте про аргументы и см. примеры в теме Scripts collection по слову Arguments.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
bzmn
В разрабатываемой 4.4.6 исправил ошибку метода /SaveFile(). С этой версией попробуйте так:Заместо
Кстати примеры по использованию есть в AkelHelp-Rus.htm.
В разрабатываемой 4.4.6 исправил ошибку метода /SaveFile(). С этой версией попробуйте так:
Code: Select all
AkelPad.exe /SaveFile("C:\File.txt", 1251, 0) /Quit
Code: Select all
echo.>C:\File.txt
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Если не трудно, положите скрипт (если всё-таки писали скрипт) в тему Scripts collection.bzmn wrote:Работает.
И какую прогу использовали для вызова скрипта?
-
Offline
- Posts: 6
- Joined: Wed Jul 14, 2010 2:12 pm
VladSh, слушай, да ничего оригинального не использовал. Просто заюзал то, что сказал инструктор:
AkelPad.exe /SaveFile("C:\File.txt", 1251, 0) /Quit
Вот это команда, выполненная из командной строки Windows очищает указанный файл по указанному пути (в моём случай путь и название файла, естественно, другие). Выполняются команды переодически - их вызывает батник, выполняющий функции совершенно специфичные и личные. Переодичность определяется совершенно иными процедурами, посвещать в которые не имеет смысла.
Видимо, команда просто создает файл, по умолчанию пустой, который перезаписывает нужный мне файл. ЕЩЕ РАЗ ПОВТОРЮСЬ - ДАЖЕ ЗАБЛОКИРОВАННЫЙ СИСТЕМОЙ! это важно.
AkelPad.exe /SaveFile("C:\File.txt", 1251, 0) /Quit
Вот это команда, выполненная из командной строки Windows очищает указанный файл по указанному пути (в моём случай путь и название файла, естественно, другие). Выполняются команды переодически - их вызывает батник, выполняющий функции совершенно специфичные и личные. Переодичность определяется совершенно иными процедурами, посвещать в которые не имеет смысла.
Видимо, команда просто создает файл, по умолчанию пустой, который перезаписывает нужный мне файл. ЕЩЕ РАЗ ПОВТОРЮСЬ - ДАЖЕ ЗАБЛОКИРОВАННЫЙ СИСТЕМОЙ! это важно.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 6
- Joined: Wed Jul 14, 2010 2:12 pm
Да обычный BAT-ник, выполняющий через каждые 5 секунд анализ содержимого лога от другой программы (ищет определенной содержимое, сигнализирующее об ошибки - как следствие нужные мне действия). Вот это другая программа - дрянь, в которой не настраивается ограничение по размеру лога. И акелпад меня спас!VladSh wrote:bzmn, ясно, спасибо) здорово!))
Имел ввиду: какую прогу используешь для организации "периодичности" вызова батника?
В общем-то, если тебе так важно содержимое, то алгоритм примерно такой:
:begin
проверка=проверка+1
если проверка равно 1000 - очищаем file.txt через акелпад и обнуляем проверку
иначе C:\delay.exe 5000 s
find "error" file.txt
если содержимое не найдено - goto begin
иначе ACTION!
под последним подразумеваю совершенно специфичные функции. думаю, нафик никому не нужно.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
Для настройки периодов запуска пользуем:Мне было интересно, что за прога позволяет запускать батник каждые 5 секунд?? ))
С коммандной строки:
C:\WINDOWS\SYSTEM32\AT.EXE
Либо в панели управления:
"Назначенные заданий"
Для того что бы расписание начало работать делаем в командной строке:
Code: Select all
SC CONFIG SCHEDULE START= AUTO
SC START SCHEDULE
Скорее всего самописная прога, которая ничего не делает заданное время. В принципе с достаточно хорошей точностью можно воспользоваться финтом ушамиЧто это за прога?
Code: Select all
ping -w XXXX -n 1 127.255.255.255
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine