-- 导入 os 模块 local os = require("os") local io = require("io") local fs = require("lua_fs") local url = "https://www.sinxmiao.cn/" local backup_name = "gitea_backup" local current_path = fs.get_current_directory() print("Current: " .. current_path) local parent_path = fs.get_parent(current_path) print("Parent: " .. parent_path) local config_path = current_path .. "/repo_list.txt" if not fs.exists(config_path) then print("repo_list.txt not found.") os.exit() end local backup_path = parent_path .. "/" .. backup_name print("Backup Path: " .. backup_path) if not fs.exists(backup_path) then fs.mkdir(backup_path) -- 创建备份目录 end -- 读取 repo_list.txt 文件 local content = {} for line in io.lines(config_path) do table.insert(content, line) end for _, repo in ipairs(content) do local repo_name = repo:match("^(.*)$") -- 去掉换行符 if #repo_name == 0 then print("Skipping empty repo name") goto continue end local purpose_dir = backup_path .. "/" .. repo_name local cmd if not fs.exists(purpose_dir) then fs.mkdir(purpose_dir) -- 创建对应的目录 cmd = "git clone --recursive " .. url .. repo_name .. ".git \"" .. purpose_dir .. "\"" else cmd = "cd /d \"" .. purpose_dir .. "\" && git pull && git submodule update" end print(cmd) os.execute(cmd) -- 执行命令 ::continue:: -- 跳到下一次循环 end