Programist135 231 Опубликовано: 2 ноября, 2015 (изменено) - Так. Удалю ка я файл govnokod.lua *набрал rm go* *TAB* *набралось gorod* *ENTER*О НЕТ!! Я удалил нужный файл!! АА!!!!- Так. Удалю ка я файл govnokod.lua *набрал rm go* *TAB* *набралось gorod* *ENTER* *файл успешно перемещён в корзину...*- АА!! О, точно есть же корзина. *recycle -r gorod* *файл восстановлен...*- Ух...И так, всем здравствуйте. С вами снова Programist135, и я решил убить > 2 часов на то, чтобы защитить вас от случайного удаления нужных файлов. Эта программа называется "Корзина"Все мы знаем корзину в Windows, Linux, Ubuntu... поэтому я решил реализовать это и в OpenOS. Ну что-ж, выполните в консоли вот эту команду! pastebin run QFZ0uHCkДля загрузки нескольких файлов я воспользовался вот этой программой >>> http://computercraft.ru/topic/1145-oc-ustanovschik-programmПриступим к обзору. Я решил написать все функции "корзины" в библиотеке, а вызывать из программы. Поэтому сама программа так мало весит =)Команды: recycle -r имя_файла Восстанавливает файл имя_файла из корзины. Если его там нет, выдаёт предупреждение. recycle -c ПОЛНОСТЬЮ очищает корзину. Перед очисткой просит ввести слово "ПОДТВЕРДИТЬ". recycle -d имя_файла Удаляет файл имя_файла из КОРЗИНЫ навсегда. Перед удалением просит ввести слово "ДА". recycle -l Показывает все те файлы и папки, которые находятся в КОРЗИНЕ. Вы спросите: "Эй прог, а как переместить файл в корзину?". Тут всё просто. Я отредактировал файл rm.lua. Использование такое: rm [-vn] <filename1> [<filename2> [...]] v выводит сообщения, что сейчас происходит. Но! Будьте осторожней с функцией n. Она удаляет все выбранные файлы БЕЗ ПЕРЕМЕЩЕНИЯ В КОРЗИНУ! Перед этим действием просит подтверждение. Ну вот и всё. На написание этой статьи я потратил 20 минут. А с вами был Programist135, если вдруг найдёте нерабочую функцию или баг, обязательно напишите мне сюда, я исправлю. Увидимся! И да, чуть не забыл: небольшой пример работы. Изменено 2 ноября, 2015 пользователем Programist135 7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 625 Опубликовано: 2 ноября, 2015 Только одно, сделай нормальное поттверждение, через (y/n). Например: Очистить корзину (y/n): y Корзина очищена. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Programist135 Автор темы 231 Опубликовано: 2 ноября, 2015 Лёша, я думаю что чем длиннее фраза, тем надёжнее. Вон в Clash of Clans начал себе ник менять, меня просят целиком и полностью слово ПОДТВЕРДИТЬ. Вот. Забыл написать: корзина находится по адресу /usr/.$RecycleBin. Через ls /usr мы её не увидим, потому что имя файла начинается с точки. Все файлы восстанавливаются НЕ туда, где они были, а в папку /restored/. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Quant 442 Опубликовано: 2 ноября, 2015 То есть придётся востанавливать, а затем лезть в папку ресторед? Может стоит аргументы сделать, куда востановить указывать? 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Programist135 Автор темы 231 Опубликовано: 3 ноября, 2015 Может стоит аргументы сделать, куда востановить указывать? А вот насчёт этого согласен! После того, как напишу о том, что всё готово, запустите установщик по-новой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Programist135 Автор темы 231 Опубликовано: 3 ноября, 2015 Всё готово, запускайте установщик. Если вдруг при запуске выдаст ошибку, или найдётся баг, немедленно сообщите мне, новый код я НЕ проверял. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах