How to delete a file using the .js script?

English main discussion
Post Reply
  • Author
  • Message
Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

How to delete a file using the .js script?

Post by sexy96 »

I have such a script:

var sFile = "B:\TEMP\info.txt";
var hEditWnd = AkelPad.GetEditWnd();
var sEditFile = AkelPad.GetEditFile(0);
var hFont;
var aFont;

if (hEditWnd)
{
hFont = AkelPad.SendMessage(hEditWnd, 0x0031 /*WM_GETFONT*/, 0, 0);
aFont = GetFontArray(hFont, hEditWnd);
sEditFile = AkelPad.GetEditFile(0);

AkelPad.WriteFile(sFile, sEditFile + "\r\n", -1, 1250 /*nCP*/, 0 /*bBOM*/, 0 /*flags*/);
AkelPad.WriteFile(sFile, aFont[4] + "\r\n", -1, 1250, 0, 0x2 /*WFF_APPENDFILE*/);
// AkelPad.WriteFile(sFile, aFont[4] + "\r\n", -1, 1250 /*nCP*/, 0 /*bBOM*/, 0 /*flags*/);

AkelPad.Exec('"D:\AutoHotkey\AutoHotkeyU64.exe" "D:\WinCMD\AkelPad86\AHKFiles\plus.ahk"');
}

function GetFontArray(hFont, hWnd)
{
var oSys = AkelPad.SystemFunction();
var nLFSize = 28 + 32 * 2; //sizeof(LOGFONTW)
var lpLF = AkelPad.MemAlloc(nLFSize);
var aFont = [];

oSys.Call("Gdi32::GetObjectW", hFont, nLFSize, lpLF);

nHeight = AkelPad.MemRead(PtrAdd(lpLF, 0), 3 /*DTDWORD*/); //lfHeight
aFont[4] = -nHeight;

AkelPad.MemFree(lpLF);

return aFont;
}

I would like to add a command, to run this script
Removed at first "B:\TEMP\info.txt", if there is one.

What and where to type?

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

Post by KDJ »

sexy96

Delete file by using FileSystemObject:

Code: Select all

var oFSO  = new ActiveXObject("Scripting.FileSystemObject");
var sFile = "E:\\Temp\\Info.txt";

if (oFSO.FileExists(sFile))
{
  try
  {
    oFSO.DeleteFile(sFile, 1 /*force delete RO file*/);
  }
  catch (oError)
  {}

  if (oFSO.FileExists(sFile))
    AkelPad.MessageBox(0, "Can not delete. File is locked!", WScript.ScriptName, 0 /*MB_OK*/);
  else
    AkelPad.MessageBox(0, "File has been deleted.", WScript.ScriptName, 0 /*MB_OK*/);
}
else
  AkelPad.MessageBox(0, "File does not exist!", WScript.ScriptName, 0 /*MB_OK*/);

Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

Post by sexy96 »

Bardzo dziękuję, działa super.
Post Reply