Quantcast
Channel: Ru.Board
Viewing all articles
Browse latest Browse all 930752

Double Commander (1508) / Кроссплатформенный open source файловый менеджер

$
0
0
Skif_off:
AlexPNZ

Цитата:
Пишет функция не поддерживается.

Спросил https://doublecmd.h1n.ru/viewtopic.php?p=46192#p46192

Сам года два-три пользуюсь кнопкой со скриптом Lua для выделенных или файла под курсором (командой DC только когда нужна относительная):
[more=AddSymlink.lua]
Код:
-- AddSymlink.lua (cross-platform)
-- 2025.05.07
--[[
Parameters:
%"0%LU
%"0%Dt
]]

local params = {...}

local sScrName = debug.getinfo(1).source
if string.sub(sScrName, 1, 1) == "@" then sScrName = string.sub(sScrName, 2, -1) end
sScrName = SysUtils.ExtractFileName(sScrName)

if #params ~= 2 then
Dialogs.MessageBox("Check the list of parameters!", sScrName, 0x0030)
return
end

local tmp

local h, err = io.open(params[1], "r")
if h == nil then
Dialogs.MessageBox("Error: " .. err, sScrName, 0x0030)
return
end
for l in h:lines() do
tmp = params[2] .. SysUtils.PathDelim .. SysUtils.ExtractFileName(l)
if SysUtils.FileGetAttr(tmp) ~= -1 then
DC.LogWrite(sScrName .. ": already exists: " .. tmp, 2, false, false)
else
SysUtils.CreateSymbolicLink(l, tmp)
DC.LogWrite(sScrName .. ": created: " .. tmp, 1, false, false)
end
end
h:close()
[/more]
(Подправил под кроссплатформенный.) Кнопка с внутренней командой cm_ExecuteScript, в параметрах

Код:
path/to/script.lua
%"0%LU
%"0%Dt

Окно протокола должно быть включено, скрипт пишет туда результат.

Скрипт делался на скорую руку под конкретную задачу, думаю - стоит добавить опциональную возможность создавать симлинки с относительным путём...

Viewing all articles
Browse latest Browse all 930752

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>