Skif_off:
AlexPNZ
Цитата:
Спросил https://doublecmd.h1n.ru/viewtopic.php?p=46192#p46192
Сам года два-три пользуюсь кнопкой со скриптом Lua для выделенных или файла под курсором (командой DC только когда нужна относительная):
[more=AddSymlink.lua]
Код:
[/more]
(Подправил под кроссплатформенный.) Кнопка с внутренней командой cm_ExecuteScript, в параметрах
Код:
Окно протокола должно быть включено, скрипт пишет туда результат.
Скрипт делался на скорую руку под конкретную задачу, думаю - стоит добавить опциональную возможность создавать симлинки с относительным путём...
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() |
(Подправил под кроссплатформенный.) Кнопка с внутренней командой cm_ExecuteScript, в параметрах
Код:
path/to/script.lua %"0%LU %"0%Dt |
Окно протокола должно быть включено, скрипт пишет туда результат.
Скрипт делался на скорую руку под конкретную задачу, думаю - стоит добавить опциональную возможность создавать симлинки с относительным путём...