Scite 备份文件

lua-users home
wiki

这个简单的脚本挂钩到 OnBeforeSave 并创建正在保存的文件的旧版本的备份。该脚本没有调用外部命令来完美复制原始文件,而是使用简单的循环来复制文件的内容,但会丢失自定义属性和其他元数据。如果您需要精确备份,请考虑执行外部命令以进行精确复制。

此脚本使用 SciteExtMan

-- NOTE: uses extman.lua
-- Limitations: silently fails, does not copy metadata
local function backupDeFile(fname)
  local BLK = 1024 * 64
  bkname = fname.."~"
  local inf = io.open(fname, "rb")
  local outf = io.open(bkname, "wb")
  if not inf or not outf then return end
  while true do
    local dat = inf:read(BLK)
    if not dat then break end
    outf:write(dat)
  end
  inf:close()
  outf:close()
end
scite_OnBeforeSave(backupDeFile)

-- KeinHongMan

您也可以将以下内容添加到您的 SciTEGlobal.properties 中,如果您只是想要一种简单的方法来创建当前文件的备份。

command.name.1.*=Backup this file
command.1.*=dostring os.execute("cmd /C copy $(FileNameExt?) $(FileName?)_"..os.date("%y%m%d%H%M")..".$(FileExt?)")
command.mode.1.*=subsystem:lua,savebefore:no

-- Alan MN


最近更改 · 偏好设置
编辑 · 历史记录
最后编辑于 2010 年 6 月 1 日上午 8:56 GMT (差异)