Вставка в множества файлов в строку названия файла

Russian main discussion
Post Reply
  • Author
  • Message
Offline
Posts: 3
Joined: Sun Sep 04, 2011 7:54 am

Вставка в множества файлов в строку названия файла

Post by webkontrast »

Здравствуйте. Не так давно открыл для себя хороший редактор AkelPad Много раз спасал, однако тут задачка стала:
Вообщем есть более 400 файлов в расширении php типа 1alm.php 2alm.php
В тесте нужно в определенную строку сделать так, что бы вставлялось название этого файла, но без расширения(впринципе и с расширением можно, потом его просто удалить массово)

Подскажите как. а то уже глаза болят
Спасибо

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Как шаблон скрипта можно взять DelTrailSpacesAll.js и вместо

Code: Select all

AkelPad.SendMessage(hMainWnd, 273 /*WM_COMMAND*/, 4174 /*IDM_EDIT_DELETE_TRAILING_WHITESPACES*/, 0);
написать код получения имени текущего файла и его вставку в необходимое место.

Offline
Posts: 3
Joined: Sun Sep 04, 2011 7:54 am

Post by webkontrast »

Instructor wrote:Как шаблон скрипта можно взять DelTrailSpacesAll.js и вместо

Code: Select all

AkelPad.SendMessage(hMainWnd, 273 /*WM_COMMAND*/, 4174 /*IDM_EDIT_DELETE_TRAILING_WHITESPACES*/, 0);
написать код получения имени текущего файла и его вставку в необходимое место.
Для меня это темный лес. Был бы признателен за помощь!

Offline
Posts: 3
Joined: Sun Sep 04, 2011 7:54 am

Post by webkontrast »

Instructor
Напишите пожалуйства как реализовать

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

webkontrast
Используем AkelPad.GetEditFile, AkelPad.SetSel, AkelPad.ReplaceSel.

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

webkontrast
The following code save in a file named eg. InsertFileBaseNameAll.js

Code: Select all

//based on DelTrailSpacesAll.js by Instructor
//http://akelpad.sourceforge.net/forum/viewtopic.php?p=3370#p3370

var hMainWnd=AkelPad.GetMainWnd();
var hWndFrameInit;
var sFile;

if (hMainWnd)
{
  //Initial MDI frame
  hWndFrameInit=AkelPad.SendMessage(hMainWnd, 1288 /*AKD_FRAMEFIND*/, 1 /*FWF_CURRENT*/, 0);

  for (;;)
  {
    sFile = AkelPad.GetEditFile(0);
    sFile = sFile.substring(sFile.lastIndexOf("\\") + 1).replace(/\.[^.]*$/, "");
    AkelPad.ReplaceSel(sFile, 1);

    //Next MDI frame
    AkelPad.SendMessage(hMainWnd, 273 /*WM_COMMAND*/, 4316 /*IDM_WINDOW_FRAMENEXT*/, 0);
    if (hWndFrameInit == AkelPad.SendMessage(hMainWnd, 1288 /*AKD_FRAMEFIND*/, 1 /*FWF_CURRENT*/, 0))
      break;
  }
}
Put this script in a directory ...\AkelPad\AkelFiles\Plugs\Scripts\
Enable Script plugin, open your files and run this script.
Post Reply