Как установить на файл атрибут только для чтения?

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

Значит для чего вообще эта штука может понадобится? Честно говоря я не знаю где это может быть нужно, но вот например файл hosts (это системный важный файл, находится тут: %SystemRoot%\system32\drivers\etc) имеет атрибут только для чтения и это сделано в целях безопасности, чтобы в этот файл ничего нельзя было записать. Хотя я не уверен насколько это сильная защита. В общем еще раз, если поставить атрибут только для чтения, то файл можно будет ТОЛЬКО считать с диска, записать в него ничего уже не получится. Ну, надеюсь что все понятно smile

На системном диске C:\ я создал для теста пустой текстовый файл test.txt, сейчас я покажу как поставить этому файлу атрибут только для чтения. Итак, смотрите, вот сам файл:

Теперь нужно зайти в его свойства, для этого нажимаете правой кнопкой по нему и там выбираете в менюхе последний пункт Свойства:

Потом появится окошко Свойства, вот в этом окошке вам нужно поставить галочку на только чтение:

Все, потом нажимаете ОК и все, у вас файл уже будет только для чтения. Ну что, сложно? Вот и я думаю что нет! Теперь смотрите, вот я его открыл и написал там слово:

Теперь я его закрываю, то есть нажимаю на крестик, появляется такое сообщение:

Ну, я тут нажал кнопку Сохранить… И вот ребята, из-за того что стоит атрибут только для чтения, то у меня выскочило такое окошко:

Это чтобы сохранить изменения. Но сохранить можно только в другом файле, ведь в свойствах test.txt стоит атрибут только для чтения, понимаете что это за прикол? Но самое интересное, что если я в этом окошке выберу файл test.txt, и нажму кнопку Сохранить, ну чтобы его перезаписать, то у меня сперва появилось такое сообщение:

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

Ну то есть я думаю что вам все понятно, да? Если стоит атрибут только для чтения, то в файл реально ничего нельзя записать, все работает smile

Но можно задать атрибут и очень крутым способом, это при помощи командной строки! Я об этом напишу сейчас, вдруг вам пригодится то, а? Ну а вдруг? В общем смотрите, сначала вызываем командную строку, то есть зажимаем кнопки Win + R и пишем в окошке Выполнить такую команду:

cmd

Потом нажали ОК, после чего появится вот такое черное окно, это и есть командная строка:

А вот и команда, которая нужна чтобы задать атрибут:

ATTRIB

Чтобы узнать как она работает, то в командной строе нужно так набрать:

ATTRIB /?

Потом нажать энтер и у вас будет такой результат:

Немного непонятно? Понимаю, вот поэтому пишу, что для того чтобы через командную строку установить атрибут для файла только чтение, то нужно написать вот такую команду:

ATTRIB +R C:\test.txt

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

Нажал потом энтер и вот результат:

То есть результата то и по сути нету! Думаете ошибка? Нет ребята, это не ошибка, это как раз таки ее отсутствие, а значит все прошло нормалек. Я потом проверил, таки да, атрибут только чтение установился. Вы мне скажите, йолки палки, да ведь ты его уже выше поставил вручную! Нет ребята, я перед тем как поставить его через командную строку, то я пошел в свойства и снял галочку! Так что тут все четко buba

Теперь, основываясь на этой команде, можно сделать и другие. Ну вот например буква R это атрибут для чтения, верно? Ну вот, а буква A это атрибут архивный, буква S это системный, буква H это скрытый, буква I задает атрибут неиндексированное содержимое, ну то есть чтобы этот файл не индексировался там где-то, короче это типа для того чтобы поиск был быстрый и все такое, думаю вы поняли. Ну и ключи там еще есть всякие как видите. Но как пользоваться ключами и вообще как например задать атрибут сразу нескольким файлам? Тут тоже все просто! Я создал папку test, в ней есть файл test.txt и еще одна папка test, в которой тоже есть файл test.txt, ну вот так я сделал, но зачем? Это ребятки для примера, теперь как сделать так, чтобы в папке test все что внутри имело атрибут… ну пусть будет скрытый. Как? Очень просто, нужно написать в командную строку вот эту команду:

ATTRIB +H C:\test\*.* /S /D

Вот такая вот команда ребята! Я только что проверил, все работает, это правильная команда. В итоге у меня в папке test было все пусто, потому что все файлы и папки были скрыты, а у меня отключен показ скрытых файлов и папок. Но давайте немного разберемся с командой, что я там написал? Буква H (наверно от слова Hidden) указывает, что нужно задавать атрибут скрытый. Потом идет путь к папке, а в конце пути идет такое:

*.*

Вы наверно подумаете, что за дичь? А это означает что в папке нужно обрабатывать все файлы, которые имеют название * и расширение *, но сами эти звездочки, то они означают как бы любое значение. Вообще эти звездочки это называется типа маска, ну есть такое. Дальше идет такое как /S, это означает что обрабатывать нужно все файлы с указанным именем, а так как мы указали *.*, то обработаны будут все файлы. Ну и чтобы еще были обработаны папки, то для этого я добавил ключ /D, ну что ребята, все понятно или я тут немного запутано все написал? Ну, надеюсь что все таки вам тут все понятно! smile

Ой, еще самое главное забыл вам написать, вы в команде видите плюсик? Ну так вот, тот плюсик, это чтобы УСТАНОВИТЬ атрибут! А чтобы СНЯТЬ атрибут то нужно ставить МИНУС! Вот блина, как я мог забыть и не написать об этом? Капец!

Ребята, на этом все. Опять же скажу, что надеюсь что все вам тут было понятно, ну а если что-то не так, ну то уж извините, что я могу поделать, я видимо как-то странно обьясняю.. sad Удачи вам в жизни и чтобы у вас всегда было отличное настроение victory

На главную! 29.12.2016

Добавить комментарий

Your email address will not be published / Required fields are marked *