🚀 Biblioteca: Sistema Operacional
Controle o computador e interaja com o sistema operacional!
🚀?Data e Hora
-- Obter data/hora atual formatada exiba(sistema_operacional.obtenha_data()) -- Mostra algo como: Fri Jan 10 11:36:00 2026 -- Formatos personalizados exiba(sistema_operacional.obtenha_data("%Y")) -- 2026 exiba(sistema_operacional.obtenha_data("%d/%m/%Y")) -- 10/01/2026 exiba(sistema_operacional.obtenha_data("%H:%M:%S")) -- 11:36:42 -- Obter tabela com componentes da data local agora = sistema_operacional.obtenha_data("*t") exiba(agora.year, agora.month, agora.day) exiba(agora.hour, agora.min, agora.sec)
Tempo em Segundos
-- Obter timestamp atual (segundos desde 1970) local agora = sistema_operacional.obtenha_tempo() exiba(agora) -- Ex: 1736518602 -- Criar timestamp de data específica local natal = sistema_operacional.obtenha_tempo({ year = 2026, month = 12, day = 25, hour = 0 }) -- Calcular diferença entre tempos local t1 = sistema_operacional.obtenha_tempo() -- ... fazer algo ... local t2 = sistema_operacional.obtenha_tempo() local diferenca = sistema_operacional.calcule_diferença_tempo(t2, t1) exiba("Demorou " .. diferenca .. " segundos")
Relógio de CPU
-- Medir tempo de CPU usado local inicio = sistema_operacional.obtenha_relêgio() para i = 1, 1000000 faça local x = i * 2 fim local fim = sistema_operacional.obtenha_relêgio() exiba("Tempo de CPU: " .. (fim - inicio) .. " segundos")
Executar Comandos
-- Executar comando do sistema local sucesso, tipo, codigo = sistema_operacional.execute("dir") exiba(sucesso, tipo, codigo) -- Verificar se shell está disponÚvel se sistema_operacional.execute() então exiba("Shell disponível") fim
Gerenciar Arquivos e Pastas
-- Remover arquivo local sucesso, erro = sistema_operacional.remova("temp.txt") se não sucesso então exiba("Erro: " .. erro) fim -- Renomear arquivo sistema_operacional.renomeie("antigo.txt", "novo.txt") -- Criar pasta local sucesso = sistema_operacional.crie_pasta("minha_pasta") se sucesso então exiba("Pasta criada!") fim
Variáveis de Ambiente
-- Obter variável de ambiente local usuario = sistema_operacional.obtenha_variável_ambiente("USERNAME") exiba("Usuário: " .. usuario) local home = sistema_operacional.obtenha_variável_ambiente("HOME") local path = sistema_operacional.obtenha_variável_ambiente("PATH")
Arquivos Temporários
-- Gerar nome de arquivo temporário local nome_temp = sistema_operacional.gere_nome_temporário() exiba("Arquivo temporário: " .. nome_temp) -- Usar para criar arquivo temporário local arquivo = terminal.abra(nome_temp, "w") arquivo:escreva("dados temporários") arquivo:feche()
Localização
-- Definir localização sistema_operacional.defina_localidade("pt_BR") -- Categorias específicas sistema_operacional.defina_localidade("C", "numeric") -- Números sistema_operacional.defina_localidade("pt_BR", "time") -- Data/hora -- Obter localização atual local loc = sistema_operacional.defina_localidade() exiba("Localização: " .. loc)
Sair do Programa
-- Sair com código de sucesso sistema_operacional.saia() sistema_operacional.saia(0) -- Sair com código de erro sistema_operacional.saia(1) -- Sair com booleano sistema_operacional.saia(verdadeiro) -- sucesso sistema_operacional.saia(falso) -- falha -- Sair e fechar estado Lua sistema_operacional.saia(0, verdadeiro)
Exemplo: Backup Automático
função crie_backup(arquivo_origem) -- Gerar nome com timestamp local timestamp = sistema_operacional.obtenha_data("%Y%m%d_%H%M%S") local nome_backup = arquivo_origem .. ".backup_" .. timestamp -- Copiar arquivo (renomear cópia) local sucesso = sistema_operacional.execute("copy " .. arquivo_origem .. " " .. nome_backup) se sucesso então exiba("Backup criado: " .. nome_backup) fim se não sucesso então exiba("Erro ao criar backup") fim fim crie_backup("importante.txt")
Exemplo: Monitor de Tempo
função cronometro(funcao, ...) local inicio = sistema_operacional.obtenha_relêgio() local resultados = {funcao(...)} local fim = sistema_operacional.obtenha_relêgio() exiba("Tempo de execução: " .. (fim - inicio) .. "s") retorne tabela.desempacote(resultados) fim -- Usar função tarefa_demorada() local soma = 0 para i = 1, 10000000 faça soma = soma + i fim retorne soma fim local resultado = cronometro(tarefa_demorada)
Cuidado ao usar
execute, remova e saia! Estas funções podem afetar o sistema.
A biblioteca Sistema Operacional oferece controle completo sobre data/hora, arquivos e execução de comandos!