| View previous topic :: View next topic |
| Author |
Message |
bzmn
Joined: 14 Jul 2010 Posts: 6
|
Posted: Wed Jul 14, 2010 2:18 pm Post subject: Возможна ли консольная работа с AkelPad? |
|
|
Заметил одну интересную особенность - AkelPad может работать с заблокированными файлами совершенно непринужденно. Очистить/изменить/сохранить - всё это он делает без какого-либо облома. Может, я плохо искал, но я не смог найти ни одного похожего редактора или способа сделать это (отредактировать используемый другим приложением файл).
Дело в том, что мне переодически надо очищать один такой файл, потому что его объемы достигают очень больших размеров, в то время как в него пишет нужная мне программа, остановка которой для меня критична, но при это мнужно держать определенный размер файла. Возможно ли как-то через командную строку научить AkelPad открывать файл, очищать его содержимое, сохранять. Из командной строки - потому что мне надо автоматизировать данный процесс.
Руками я уже проверил - именно этот тип файлов, заблокированный данным приложением, АкелПад легко очищает/сохраняет. Не ожидал, но это здорово! Как бы только делать это авматически?
FAR данный файл не открывает в режиме редактирования, обычный виндовый блокнот не дает сохранять, а банальная команда echo text > file говорит о занятости данного файла.
Заранее спасибо!
P.S. На самом деле, говоря о большим объемах - я подразумеваю относительную величину (в мегабайт-два) - меня не обламывает количество занятого пространства как таковое, но дело в том, что анализ содержимого данного файла также переодически производит другое приложение, и когда объемы превышают определенные размеры - это становится приличный удар по системе. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2507 Location: Киев, Русь
|
Posted: Wed Jul 14, 2010 2:28 pm Post subject: |
|
|
Отсюда:
| Instructor wrote: | | Добавлено: возможность использования методов /OpenFile(), /SaveFile(), /Command(), /Call(), /Exec(), /Font(), /Recode(), /Insert() в командной строке. А также добавлены параметры /L+ и /L- для тихого ответа на сообщение о потере символов в указанной кодировке. |
Работа видится мне примерно так:
- написать батник, работающий с АкелПадом или скрипт;
- заюзать вышенаписанное из какой-то внешней, постоянно висящей в памяти, проги типа "Планировщика заданий", но которая позволяет периодически выполнять какие-то настраиваемые действия (в данном случае - запускать скрипт). |
|
| Back to top |
|
 |
bzmn
Joined: 14 Jul 2010 Posts: 6
|
Posted: Wed Jul 14, 2010 4:29 pm Post subject: |
|
|
Спасибо большое за оперативный и толковый ответ. Но без образцов совершенно не понимаю данных команд.
akelpad.exe /OpenFile text.txt /command (какая-то команда с функцией очистки?) /SaveFile text.txt. Как-то так?
Вопрос автоматизации запуска батника - совершенно не проблема. Это мой головняк. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2507 Location: Киев, Русь
|
Posted: Wed Jul 14, 2010 5:40 pm Post subject: |
|
|
Всегда рад
| 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. |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4638
|
Posted: Wed Jul 14, 2010 6:26 pm Post subject: |
|
|
bzmn
В разрабатываемой 4.4.6 исправил ошибку метода /SaveFile(). С этой версией попробуйте так:
| Code: | | AkelPad.exe /SaveFile("C:\File.txt", 1251, 0) /Quit | Заместо
Кстати примеры по использованию есть в AkelHelp-Rus.htm. |
|
| Back to top |
|
 |
bzmn
Joined: 14 Jul 2010 Posts: 6
|
Posted: Wed Jul 14, 2010 7:18 pm Post subject: |
|
|
А-фи-геть! Спасибо, спасибо большущее!
Работает.
А где у вас страница с donate? Или просто ЯД номер скажите.
И всё-таки, каким образом ваше приложение умудряется перезаписывать заблокированный файл? |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2507 Location: Киев, Русь
|
Posted: Thu Jul 15, 2010 7:51 am Post subject: |
|
|
Если не трудно, положите скрипт (если всё-таки писали скрипт) в тему Scripts collection.
И какую прогу использовали для вызова скрипта? |
|
| Back to top |
|
 |
bzmn
Joined: 14 Jul 2010 Posts: 6
|
Posted: Thu Jul 15, 2010 11:03 am Post subject: |
|
|
VladSh, слушай, да ничего оригинального не использовал. Просто заюзал то, что сказал инструктор:
AkelPad.exe /SaveFile("C:\File.txt", 1251, 0) /Quit
Вот это команда, выполненная из командной строки Windows очищает указанный файл по указанному пути (в моём случай путь и название файла, естественно, другие). Выполняются команды переодически - их вызывает батник, выполняющий функции совершенно специфичные и личные. Переодичность определяется совершенно иными процедурами, посвещать в которые не имеет смысла.
Видимо, команда просто создает файл, по умолчанию пустой, который перезаписывает нужный мне файл. ЕЩЕ РАЗ ПОВТОРЮСЬ - ДАЖЕ ЗАБЛОКИРОВАННЫЙ СИСТЕМОЙ! это важно. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2507 Location: Киев, Русь
|
Posted: Thu Jul 15, 2010 11:14 am Post subject: |
|
|
bzmn, ясно, спасибо) здорово!))
Имел ввиду: какую прогу используешь для организации "периодичности" вызова батника? |
|
| Back to top |
|
 |
bzmn
Joined: 14 Jul 2010 Posts: 6
|
Posted: Thu Jul 15, 2010 11:28 am Post subject: |
|
|
| VladSh wrote: | bzmn, ясно, спасибо) здорово!))
Имел ввиду: какую прогу используешь для организации "периодичности" вызова батника? |
Да обычный BAT-ник, выполняющий через каждые 5 секунд анализ содержимого лога от другой программы (ищет определенной содержимое, сигнализирующее об ошибки - как следствие нужные мне действия). Вот это другая программа - дрянь, в которой не настраивается ограничение по размеру лога. И акелпад меня спас!
В общем-то, если тебе так важно содержимое, то алгоритм примерно такой:
:begin
проверка=проверка+1
если проверка равно 1000 - очищаем file.txt через акелпад и обнуляем проверку
иначе C:\delay.exe 5000 s
find "error" file.txt
если содержимое не найдено - goto begin
иначе ACTION!
под последним подразумеваю совершенно специфичные функции. думаю, нафик никому не нужно. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2507 Location: Киев, Русь
|
Posted: Thu Jul 15, 2010 1:21 pm Post subject: |
|
|
Алгоритм - то такое...)
| bzmn wrote: | | Да обычный BAT-ник, выполняющий через каждые 5 секунд | Мне было интересно, что за прога позволяет запускать батник каждые 5 секунд?? ))
Что это за прога? |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1888 Location: Vinnitsa, Ukraine
|
Posted: Thu Jul 15, 2010 1:46 pm Post subject: |
|
|
| Quote: | | Мне было интересно, что за прога позволяет запускать батник каждые 5 секунд?? )) | Для настройки периодов запуска пользуем:
С коммандной строки:
C:\WINDOWS\SYSTEM32\AT.EXE
Либо в панели управления:
"Назначенные заданий"
Для того что бы расписание начало работать делаем в командной строке:
| Code: | SC CONFIG SCHEDULE START= AUTO
SC START SCHEDULE | Скорее всего самописная прога, которая ничего не делает заданное время. В принципе с достаточно хорошей точностью можно воспользоваться финтом ушами | Code: | | ping -w XXXX -n 1 127.255.255.255 | , где XXXX - время в миллисекундах ожидания. Атомной точности конечно не даст, но её и не нужно, особенно на больших промежутках времени. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2507 Location: Киев, Русь
|
Posted: Thu Jul 15, 2010 2:26 pm Post subject: |
|
|
FeyFre, спасибо!
Мне тут это стало интересно...
По "Планировщику": Win FAQ; ещё нарыл вот такие програмульки: xStarter, nnCron. |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1888 Location: Vinnitsa, Ukraine
|
Posted: Thu Jul 15, 2010 3:06 pm Post subject: |
|
|
OFFTOP:
| Quote: | | ещё нарыл вот такие програмульки: xStarter, nnCron. | Ничуть не мощнее Планировщика. Ну разве что crontab понимает, что по сути фич не добавляет(ибо дайте мне хотя-бы один пример crontab без изменений годный для nix и Win) |
|
| Back to top |
|
 |
ccaid
Joined: 15 Jun 2009 Posts: 35
|
Posted: Thu Jul 15, 2010 4:36 pm Post subject: |
|
|
| в каком-то серверном ресурските, если мне не изменяет склероз, есть программа sleep, которая принимает из ком. строки количество секунд, которое ей надо перекурить до завершения. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|