我试图从扩展名.w3speech中提取,并找到了一组似乎正在工作的lua代码,但是,我遵循了指令但得到了“权限被拒绝”。代码编写者没有回应...所以我只希望有人能够查看问题并提供一些指示。谢谢你。
Inspect_w3speech.lua
require("mod_binary_reader")
require("mod_w3strings")
local in_file = assert(arg[1], "\n\nno input\n")
local out_dir = arg[2] or "."
local debug = arg[3] or false
local r = BinaryReader
r:open(in_file)
mod_binary_reader.lua
assert(_VERSION == "Lua 5.3")
BinaryReader = {
f_handle = nil,`
f_size = 0
}
function BinaryReader:open(fullpath)
self.f_handle = assert(io.open(fullpath, "rb"))
self.f_size = self.f_handle:seek("end")
assert(-1 ~= self.f_size, "your Lua doesn't support files larger than 2 Gb")
self.f_handle:seek("set")
end
按照说明,我写了一个简单的bat文件来阅读inspect_w3speech.lua,如下所示。
a:\vid_inwork\work\lua.exe inspect_w3speech.lua a:\vid_inwork\work a:\vid_inwork\work\out
但是,它提供了以下内容。
a:\vid_inwork\work\lua.exe: a:\vid_inwork\work\mod_binary_reader.lua:9: a:\vid_inwork\work: Permission Denied
stack traceback:
[C]: in function 'assert'
a:\vid_inwork\work\mod_binary_reader.lua:9: in method 'open'
inspect_w3speech.lua:9: in maind chunk
[C]: in ?
似乎停留在inspect_w3speech.lua调用mod_binary_reader.lua的地方,并想知道原因。
这是完整的lua文件和示例.w3speech文件的链接。 https://drive.google.com/folderview?id=0ByIVyOBFNEN4fl9ic2ltdDFfckJnLVdQV1VnQmJ4TUxodmhwblY3dEt2UTIyWGFfbU1FeG8&usp=sharing
答案 0 :(得分:0)
您正在使用目录作为第一个参数调用脚本
a:\vid_inwork\work\lua.exe inspect_w3speech.lua a:\vid_inwork\work a:\vid_inwork\work\out
但它需要一个文件名。
请为其指定要操作的文件的路径。
a:\vid_inwork\work\lua.exe inspect_w3speech.lua a:\vid_inwork\work\some_file.w3speech a:\vid_inwork\work\out