小编Gav*_*vin的帖子

从短文件名获取完整路径和长文件名

我有一个很好的控制台文件管理器(Senh Liu的eXtreme),它将短路径/文件名作为变量传递给menu.bat.

如何生成完整的文件夹名称+长文件名?

例:

  • 输入变量="P:\ MYPROG~1\SHELLS\ZBACKUP\REFSTO~1.BAL"
  • target variable ="P:\ MyPrograms\SHELLS\zBackup\RefsToMyData.bal"

我尝试过以下方法:

  • SET my_file=%~2:

    echo %my_file% 生产: "P:\MYPROG~1\SHELLS\ZBACKUP\REFSTO~1.BAL"

  • FOR /F "tokens=* USEBACKQ" %%F IN (`dir /B %2`) DO SET my_file=%%~fF:

    echo %my_file% 生产: "P:\MYPROG~1\SHELLS\zBackup\RefsToMyData.bal"

  • FOR /F "tokens=* USEBACKQ" %%F IN (`dir /B %2`) DO SET my_file=%%~dpnxF:

    echo %my_file% 生产: "P:\MYPROG~1\SHELLS\zBackup\RefsToMyData.bal"

batch-file

11
推荐指数
2
解决办法
2704
查看次数

如何在命令行中列出模块和检查功能?

像许多"(windows)用户"一样,我不想花时间学习从源代码编译任何东西.所以Lua似乎是一个业余爱好者的非常好的选择.

对不起,如果这是一个非常简单的问题 - 但......

Q1.如何列出任何给定解释器实例可用的模块?

一些二进制发行版有许多编译为DLL的模块,有些已将它们添加到主EXE中.很高兴知道哪些模块内置在EXE中,并检查cpath是否正在查找任何其他DLL模块.

Q2.有没有办法在Lua的命令行获得帮助?

由于我是Lua的新手,我想要一个简单的方法来获得任何给定功能的帮助.在一些解释语言中有一个帮助("fname")函数,Matlab就是一个很好的例子.

Q3.可以将GSL-Shell的此功能修改为帮助系统的基础吗?(即使它只是确认了某个给定函数的存在,它会有所帮助)

local ffi = require 'ffi'

local help_files = {'graphics', 'matrix', 'iter', 'integ', 'ode', 'nlfit', 'vegas', 'rng', 'fft'}

local cdata_table = {'matrix', 'complex matrix', 'complex'}

local function help_init( ... )
    local REG = debug.getregistry()
    REG['GSL.help_hook'] = {}
end

local function open_module(modname)
    local fullname = string.format('help/%s', modname)
    local m = require(fullname)
    return m
end

local function search_help(func)
    for k, modname in ipairs(help_files) do
        local mt = getmetatable(func)
        local module = open_module(modname)
        if module[func] …

lua module luajit

5
推荐指数
1
解决办法
3292
查看次数

Lua函数将windows路径转换为unix路径

我遇到了 Windows 使用反斜杠作为路径分隔符的永恒问题。我想要一个将 Windows 路径转换为 ​​Unix 路径的 Lua 函数。

  1. 我知道我可以通过转义反斜杠来为变量分配路径,例如

    文件名 = "P:\\user\\scripts\\config.lua"

  2. 我知道这可以使用不同的字符串分隔符来完成,例如

    文件名 = [[P:\user\scripts\config.lua]]

  3. 我知道我不能使用 string.gsub,因为在传递给 gsub 之前,单个反斜杠要么被删除,要么被解释为转义序列。

因此,使用 Windows 当我将文件名分配给变量时遇到问题,因为字符串包含单个反斜杠,例如

filename = arg[0]
filename = debug.getinfo(2, "S").source:sub(2)
Run Code Online (Sandbox Code Playgroud)

如何将此字符串转换为带有正斜杠的 unix 样式字符串?

function unixpath(filename)
    if filename~=nil then

    else
        return nil
    end
end

print(unixpath(arg[0]))
print(unixpath(debug.getinfo(2, "S").source:sub(2)))
print(unixpath([[P:\user\scripts\config.lua]]))
Run Code Online (Sandbox Code Playgroud)

lua

2
推荐指数
1
解决办法
1767
查看次数

标签 统计

lua ×2

batch-file ×1

luajit ×1

module ×1