Перейти к содержимому
  • 0
DEFLIK

Filesystem & MineOS

Вопрос

Подскажите, пожалуйста, как работают директории компьютера, как к ним обращаться, их основные названия и подобное? Нужно записать файл на дискету с помощью component.filesystem.write() и в него же записать строчки кода. Спасибо

 

Добрый денёк, возникла такая задача и из нее, само собой, проблема: имея id дискеты и строку кода записанные в переменные, нужно создать на дискете файл .lua с записанным в него кодом.

 

Попробовал сделать это с помощью component.filesystem.write(), но так и не разобрался до конца с директориями. Тогда я попробовал сделать это через Filesystem MineOS (саму програмку делаю под MineOS), там с путем к диску проблем не возникло. Но после записи файла папка диска в проводнике почему-то дублировалась (новая и старая папки ведут в содержимое диска как и пологается, но нового файла там нет). Самое интересное то, что если достать дискету из компуктера, то останется одна папка диска, как раз с записанным туда файлом .lua. Как так получается, что две папки соответствуют одной директории, а после исчезновения первой, вторая вдруг показывает совершенно иное содержимое, нежели изначально? Я не знаю... Может баг оски, может нужно что-то делать с монтированием содержимого, а может я bruh. На разбор проблемы сил не хватило, поэтому пришел сюда за помощью. 

Изменено пользователем DEFLIK

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

Вполне возможно, что проявился бажок оськи. Хотя я без проблем записал файл на дискету по адресу следующим образом:

local fs = require("Filesystem")

for proxy, path in fs.mounts() do
  -- В моем случае адрес компонента дискеты стартует с "1c5e3"
  if proxy.address:sub(1, 5) == "1c5e3" then
    fs.write(path .. "test.lua", "Hehe")
    break
  end
end

-- Либо если известен полный адрес компонента, то
local paths = require("Paths")
fs.write(paths.system.mounts .. address .. "test.lua", "Hehe")

При этом никаких дубликатов компонента в проводнике при копипастинге этого же файла, при удалении и редактировании не наблюдаю. Можно лишь гадать на кофейной гуще, что идёт не так. Может быть, дискета была сдублирована в креативе?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@ECS Спасибо за ответ, буквально недавно разобрался с проблемой. Причиной, конечно, была моя невнимательность, забыл перед началом пути добавить слэш (забыл о существовании root). Хотя интересно, что даже без слэша програмка работала, но создавалась вторая копия дискеты

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

О, забавно. Видимо, этой копией была локальная папка с именем в виде адреса дискеты на загрузочном диске в папке Mounts. И, видимо, поэтому система её как-то неадекватно обрабатывала

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@ECS Скорее всего так и есть. Заметил, что при обработке без слеша воспроизводится звук работы только твёрдого диска (на котором стоит ос). После исправления уже и дискетка начинает брякать

Изменено пользователем DEFLIK

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...