local exceptions = { ["/scan.lua"] = true, ["/install.lua"] = true, ["scan.lua"] = true, ["install.lua"] = true, ["/.settings"] = true, [".settings"] = true, ["/.git"] = true, [".git"] = true, ["/rom"] = true, ["rom"] = true, ["/scan.dat"] = true, ["scan.dat"] = true } local function scan(dir) local out = {} for _,i in ipairs(fs.list(dir)) do local path = fs.combine(dir,i) if exceptions[path] == nil then if fs.isDir(path) then out[i] = scan(path) else local file = fs.open(path,"r") out[i] = file.readAll() file.close() end end end return out end local function format(scandata) local format_data = { files = {}, dirs = {} } local function scan_format(dir,data) if type(data) == "table" then local has_scanned = false for k,v in pairs(data) do has_scanned = true scan_format(fs.combine(dir,k),v) end if not has_scanned then format_data.dirs[#format_data.dirs+1] = dir end else format_data.files[#format_data.files+1] = dir end end scan_format("/",scandata) return format_data end local textdata = textutils.serialise(format(scan("/"))) local firstpart = "" local secondpart = "" local outfile = fs.open("install.lua","w") outfile.write() outfile.close()