Как сохранить файл закрыть файл открыть файл
Обновлено: 21.11.2024
Здесь я опишу, как закрыть открытые файлы и процессы сервера.
Каждый системный администратор в системах Microsoft Windows Server хотя бы раз сталкивался с ситуацией, когда на сервере открыт какой-то файл, и необходимо проверить, какой процесс или пользователь открыл его.
Эти открытые файлы могут вызвать некоторые проблемы, такие как ошибки обновления, задержка перезагрузки и т. д.
Это может стать серьезной проблемой, которая, если ее не продумать, может привести к задержке обновлений или ошибкам в обслуживании сервера.
Более распространенные, но менее серьезные проблемы могут исходить от пользователей. Иногда, в ситуациях, когда пользователи оставляют общие файлы открытыми в своих учетных записях, некоторые другие пользователи при открытии того же файла могут получать сообщения об ошибках и не могут получить доступ к тому же файлу.
Эта статья покажет вам, как решать подобные проблемы, как находить и закрывать открытые файлы/процессы. Операции можно применять к системам Microsoft Windows Server 2008, 2012, 2016 и Windows 10 для рабочих станций.
Существует множество рабочих методов для решения подобных проблем, первый из которых мы опишем, это использование управления компьютером:
Просмотр открытых файлов в общей папке
В ситуации с заблокированными файлами на сервере, созданными пользователями, этот метод может пригодиться для устранения неполадок.
Щелкните правой кнопкой мыши в меню "Пуск" и выберите Управление компьютером (или введите в поиске меню "Пуск" compmgmt.msc)
Процедура очень проста и в большинстве случаев работает без проблем.
Нажмите Общие папки», а затем — Открыть файлы.
Это должно открыть экран со списком файлов, которые были обнаружены как открытые, пользователем, который их открыл, возможными блокировками и режимом, в котором он открыт.
Щелкнув правой кнопкой мыши нужный файл, выберите параметр «Закрыть открытый файл», и он будет закрыт.
С процессами и сведениями о файлах процесс немного отличается.
Использование диспетчера задач Windows
Диспетчер задач не закрывает открытые общие файлы, но может закрывать процессы в системе.
Его можно открыть комбинацией клавиш ctrl, alt, del (и выбрать Диспетчер задач) или щелкнуть правой кнопкой мыши на панели задач, а затем выбрать опцию открытия диспетчера задач.
Во вкладке процессы вы можете увидеть все активные процессы и отсортировать их по параметрам ЦП, Память и т. д.…
Если есть процесс, который вы хотите завершить, это можно сделать, просто щелкнув его правой кнопкой мыши и выбрав параметр "Завершить процесс".
Использование монитора ресурсов
Для каждого системного администратора монитор ресурсов — это «инструмент», который позволяет контролировать и просматривать общие системные процессы и многое другое.
Монитор ресурсов можно открыть, введя «монитор ресурсов» в поле поиска меню «Пуск».
Еще один вариант — открыть диспетчер задач, перейти на вкладку производительности, а затем нажать Открыть монитор ресурсов.
Когда откроется Монитор ресурсов, в нем будут показаны вкладки, и одна из них, необходимая для этой операции, – Диск.
Он показывает активность диска и процессы, открытые файлы, PID, чтение и запись байтов в секунду и т. д.
Если в системе выполняется много «живых» процессов, это может сбивать с толку, поэтому Resource Monitor предлагает опцию «остановить живой мониторинг», которая остановит процессы на экране, запущенные вверх и вниз, и даст вам обзор все процессы до момента остановки.
Монитор ресурсов предлагает обзор путей к открытым файлам и процессам в системе, и с помощью этой информации не проблема идентифицировать и закрыть файлы или процессы.
Командлет Powershell
Конечно, PowerShell может все, приложения с графическим интерфейсом могут, может быть, даже лучше, и в этом случае есть несколько команд, которые могут и закроют все открытые файлы и процессы вашей системы.
Существует несколько решений со сценариями PowerShell, и это не рекомендуется для администраторов, не имеющих опыта написания сценариев.
Для этого примера мы покажем некоторые из возможных решений с использованием PowerShell.
Следующие примеры применяются к системам с поддержкой блока сообщений сервера (SMB), а для систем, не поддерживающих SMB, в следующих примерах показано, как закрыть файл с помощью команды NET file.
В ситуациях, когда необходимо закрыть один или несколько точно известных открытых файлов, можно использовать этот командлет. Он, как обычно, используется из PowerShell с повышенными правами и применяется к одному файлу (несохраненные данные об открытых файлах во всех примерах не сохраняются).
Существует вариант командлета, который позволяет закрывать открытые файлы для определенного сеанса.
Эта команда не закрывает отдельный файл, она применяется ко всем открытым файлам с идентификатором определенного сеанса.
Другой вариант того же командлета применяется к расширению имени файла (в данном примере DOCX).
Команда проверит все открытые файлы с расширением DOCX на всех системных клиентах и принудительно закроет их. Как упоминалось ранее, любые несохраненные данные об открытых файлах не будут сохранены.
У этого командлета гораздо больше флагов и вариантов, которые позволяют применять множество различных фильтров и различных подходов к закрытию открытых файлов.
Подход Powershell Script
Сценарии PowerShell позволяют автоматизировать процесс закрытия открытых файлов и процессов.
Наш пример сценария позволяет закрыть файл, указанный путем, который должен быть вставлен в сценарий.
Этот способ закрытия открытых файлов не рекомендуется для администраторов, не имеющих опыта написания сценариев PowerShell, и если вы не уверены на 100%, что справитесь с задачей, не используйте этот способ.
Закрыть файл на удаленном компьютере с помощью командной строки
Есть еще два способа закрыть открытые файлы. Для их закрытия можно использовать либо Net File, либо PSFile (утилита Microsoft). Первую команду можно испортить, используя команду NET File с удаленным использованием Psexec.exe. Команда NET не поддерживает удаленные API.
Команда Net file может вывести список всех открытых общих файлов и количество заблокированных файлов для каждого файла. Команду можно использовать для закрытия файлов и снятия блокировок (аналогично предыдущему примеру с SMB), и она используется, как и в предыдущем примере, когда пользователь оставляет файл открытым или заблокированным.
Это можно сделать с помощью следующего синтаксиса
В этом синтаксисе параметр ID — это идентификационный номер файла (который мы хотим закрыть), и, конечно же, параметр close представляет собой действие, которое мы хотим применить к ID (файлу).
Наилучшая практика использования команды NET-файла – составить список открытых файлов с помощью команды Net File, которая выводит список всех открытых файлов и подписывает их цифрами 0, 1 и т. д.
Поэтому, когда файлы перечислены, команда, которая закроет открытые файлы, (например),
Команда So будет применена таким образом, что закроет файл, подписанный цифрой 1.
Использование PsFile
PsFile — стороннее приложение, но я не буду включать его в список сторонних, так как любой хороший системный администратор должен использовать его как «нормальное».
команды аналогичны командам сетевых файлов, с тем отличием, что они не усекают длинные имена файлов и могут показывать файлы, открытые в удаленных системах локально.
Он использует NET API, задокументированный в инструментах платформы, и становится доступным после загрузки пакета PsTools.
Использование PsFile «вызывает» удаленный компьютер с действительным именем пользователя и паролем, а после вставки пути закрывает открытые файлы в удаленной системе
Для процессов, открытых в удаленной системе, существует аналогичная команда PsKill, которая по тому же принципу «убивает» процессы.
Снять блокировку файла
В некоторых случаях проблему с закрытием файлов можно решить, сняв блокировку файла. Есть много примеров, когда пользователи блокируют свои файлы и оставляют их открытыми (по какой-то причине наиболее распространенным типом заблокированных файлов являются файлы Excel).
Поэтому все остальные пользователи получают сообщение об ошибке типа: Excel заблокирован для редактирования другим пользователем, и у них нет возможности закрыть или разблокировать его.
Как администратор, вы должны иметь повышенные права и правильную процедуру, которую можно легко исправить.
Нажав клавишу Windows и R, вы получите диалоговое окно запуска Windows.
В диалоговом окне запуска введите mmc ( Консоль управления Microsoft).
Выбрав «Файл» > «Добавить/удалить оснастку», добавьте оснастку «Общие папки».
Если у вас уже есть операционная система, в которой возникла проблема, выберите параметр «Локальный компьютер», если нет, выберите вариант «Другой компьютер» и найдите нужное имя компьютера.
Разверните общие папки, затем выберите параметр «Открыть файлы».
Выберите заблокированный/открытый файл и закройте его, щелкнув правой кнопкой мыши и выбрав Закрыть открытый файл.
Описанная процедура разблокирует и закроет открытый файл (аналогично первому примеру статьи), и пользователи смогут получить к нему доступ.
Использование сторонних приложений
На рынке существует множество сторонних приложений для обработки открытых серверных файлов.
Мы опишем несколько наиболее часто используемых для этой цели.
Process Explorer — бесплатное служебное решение от Windows Sysinternals, изначально созданное Winternals, но приобретенное Microsoft. Его можно рассматривать как диспетчер задач Windows с расширенными функциями. Одной из многих функций является функция закрытия открытых файлов, которая настоятельно рекомендуется для администраторов серверов и ИТ-специалистов.
С Sysinternals можно ознакомиться по следующей ссылке:
OpenedFilesView — практически приложение с одним исполняемым файлом, отображающее список всех открытых файлов в вашей системе. Для каждого открытого файла отображается дополнительная информация: значение дескриптора, доступ для чтения/записи/удаления, положение файла, процесс, открывший файл, и многое другое.
Чтобы закрыть файл или завершить процесс, щелкните правой кнопкой мыши любой файл и выберите нужный параметр в контекстном меню.
Его можно скачать по следующей ссылке:
Lockhunter — обычно инструмент для удаления заблокированных файлов (в корзину). Это может быть обходной путь для открытых файлов, и у него есть функция просмотра и разблокировки заблокированных файлов в вашей системе. Это очень мощное средство, полезное в ситуации, когда системные инструменты не работают.
Long Path Tool — Long Path Tool — это условно-бесплатная программа, предоставляемая KrojamSoft, которая, как следует из ее названия, помогает вам исправить дюжину проблем, с которыми вы столкнетесь, когда путь к файлу слишком длинный. Эти проблемы включают невозможность копировать, вырезать или удалять файлы, о которых идет речь, из-за слишком длинного пути. С набором функций это может быть «излишним» для этой цели, но это определенно качественное приложение для всех системных администраторов.
Когда вы открываете несколько документов или файлов в Microsoft Office Word, как вы можете закрыть все открытые файлы или документы одновременно? Или как сохранить все эти файлы или документы сразу в Word?
Сохранение сразу всех открытых файлов или документов в Word
Вкладка Office не только обеспечивает интерфейс документов с вкладками в приложениях Microsoft Office, но также предоставляет ряд очень полезных и удобных функций, позволяющих повысить эффективность обработки документов с помощью Microsoft Office Word, таких как сохранение всех открытых файлов или документы сразу и закрыть все открытые файлы или документы одновременно.
Никогда не слышали о вкладке Office? Вы можете бесплатно скачать и попробовать его по этой ссылке. После установки программного обеспечения и перехода к открытию Word вы увидите:
Щелкните правой кнопкой мыши на вкладке, чтобы вызвать контекстное меню, и выберите команду "Сохранить все", чтобы сохранить все открытые документы одновременно.
Одновременно закрыть все открытые файлы или документы в Word
На вкладке Office нажмите кнопку "Закрыть", как показано ниже, и появится всплывающее окно с указанием того, что вы хотели бы с ним сделать.
Всплывающее окно:
Закрыть все вкладки: одновременно закрываются все открытые файлы или окна и закрывается приложение Microsoft Word.
Дополнительную информацию о вкладке Office см. на вкладке Office Tab.
Использовать интерфейс документов с вкладками в Office 2003/2007/2010/2013/2016/2019:
Использование вкладок в Word, Excel, PowerPoint, Publisher, Access, Project и Visio;
Легко переключаться между файлами в Microsoft Office 2003/2007/2010/2013/2016/2019;
Совместимость с Windows XP, Windows Vista, Windows 7/8/10, Windows Server 2003 и 2008, системой Citrix и Windows Terminal (Remote Desktop) Server;
Вы можете открывать и сохранять файлы в формате OpenDocument Text (.odt), используемом некоторыми текстовыми редакторами.
Открыть текстовый файл OpenDocument в Word
Перейдите на вкладку "Файл".
Нажмите "Открыть".
Нажмите "Обзор",
Чтобы просмотреть только файлы, сохраненные в формате OpenDocument, щелкните список типов файлов рядом с полем Имя файла и выберите Текст OpenDocument.
Нажмите на файл, который хотите открыть, а затем нажмите "Открыть".
Совет. Чтобы открыть файл, вы также можете дважды щелкнуть его после того, как найдете.
Примечание. Когда вы открываете текстовый файл OpenDocument в Word, он может иметь другое форматирование, чем в исходном приложении, в котором он был создан. Это связано с различиями между приложениями, использующими формат OpenDocument. р>
Сохранение документа Word в формате OpenDocument Text
Важно! Если вы хотите сохранить версию файла Word, вы должны сначала сохранить файл как документ Word, например, в формате файла .docx, а затем снова сохранить его в формате OpenDocument Text (.odt). формат.
Перейдите на вкладку "Файл".
Нажмите "Сохранить как".
Нажмите "Обзор" и выберите место, где вы хотите сохранить файл.
В списке Тип файла выберите OpenDocument Text.
Дайте имя файлу и сохраните его.
Подробнее о формате OpenDocument
При открытии или сохранении документов в формате OpenDocument Text (.odt) некоторые форматы могут быть потеряны. Это связано с различными функциями и параметрами, такими как форматирование, которые поддерживаются текстовыми приложениями OpenDocument и Word.Дополнительные сведения о различиях между форматом OpenDocument Text и форматом Word см. в разделе Различия между форматом OpenDocument Text (.odt) и форматом Word (.docx).
Прежде чем отправить файл кому-либо, вы можете закрыть файл и открыть его снова, чтобы посмотреть, как он выглядит в формате OpenDocument Text (.odt).
Открыть текстовый файл OpenDocument в Word
Перейдите на вкладку "Файл".
Нажмите «Открыть», а затем выберите местоположение файла; например, щелкните Компьютер.
Нажмите "Обзор",
Чтобы просмотреть только файлы, сохраненные в формате OpenDocument, щелкните список типов файлов рядом с полем Имя файла и выберите Текст OpenDocument.
Нажмите на файл, который хотите открыть, а затем нажмите "Открыть".
Совет. Чтобы открыть файл, вы также можете дважды щелкнуть его после того, как найдете.
Примечание. Когда вы открываете текстовый файл OpenDocument в Word, он может иметь другое форматирование, чем в исходном приложении, в котором он был создан. Это связано с различиями между приложениями, использующими формат OpenDocument. р>
Сохранение документа Word в формате OpenDocument Text
Важно! Если вы хотите сохранить версию файла Word, вы должны сначала сохранить файл как документ Word, например, в формате файла .docx, а затем снова сохранить его в формате OpenDocument Text (.odt). формат.
Перейдите на вкладку "Файл".
Нажмите "Сохранить как".
Нажмите "Обзор" и выберите место, где вы хотите сохранить файл.
В списке Тип файла выберите OpenDocument Text.
Дайте имя файлу и сохраните его.
Подробнее о формате OpenDocument
При открытии или сохранении документов в формате OpenDocument Text (.odt) некоторые форматы могут быть потеряны. Это связано с различными функциями и параметрами, такими как форматирование, которые поддерживаются текстовыми приложениями OpenDocument и Word. Дополнительные сведения о различиях между форматом OpenDocument Text и форматом Word см. в разделе Различия между форматом OpenDocument Text (.odt) и форматом Word (.docx).
Прежде чем отправить файл кому-либо, вы можете закрыть файл и открыть его снова, чтобы посмотреть, как он выглядит в формате OpenDocument Text (.odt).
Открыть текстовый файл OpenDocument в Word
Перейдите на вкладку "Файл".
Нажмите "Открыть".
Чтобы просмотреть только файлы, сохраненные в формате OpenDocument, в списке Тип файла выберите Текст OpenDocument.
Нажмите на файл, который хотите открыть, а затем нажмите "Открыть".
Совет. Чтобы открыть файл, вы также можете дважды щелкнуть его после того, как найдете.
Примечание. Когда вы открываете текстовый файл OpenDocument в Word, он может иметь другое форматирование, чем в исходном приложении, в котором он был создан. Это связано с различиями между приложениями, использующими формат OpenDocument. р>
Сохранение документа Word в формате OpenDocument Text
Важно! Если вы хотите сохранить версию файла Word, вы должны сначала сохранить файл как документ Word, например, в формате файла .docx, а затем снова сохранить его в формате OpenDocument Text (.odt). формат.
Перейдите на вкладку "Файл".
Нажмите "Сохранить как".
В списке Тип файла выберите OpenDocument Text.
Назовите и сохраните файл.
Подробнее о формате OpenDocument
При открытии или сохранении документов в формате OpenDocument Text (.odt) некоторые форматы могут быть потеряны. Это связано с различными функциями и параметрами, такими как форматирование, которые поддерживаются текстовыми приложениями OpenDocument и Word. Дополнительные сведения о различиях между форматом OpenDocument Text и форматом Word см. в разделе Различия между форматом OpenDocument Text (.odt) и форматом Word (.docx).
Прежде чем отправить файл кому-либо, вы можете закрыть файл и открыть его снова, чтобы посмотреть, как он выглядит в формате OpenDocument Text (.odt).
Важно! Office 2007 больше не поддерживается. Перейдите на Microsoft 365, чтобы работать в любом месте с любого устройства и продолжать получать поддержку.
Перед использованием этих процедур необходимо установить пакет обновления 2 (SP2) для системы Microsoft Office 2007.
Открыть текстовый файл OpenDocument в Word
Нажмите кнопку Microsoft Office , а затем нажмите кнопку "Открыть".
В списке Тип файла нажмите OpenDocument Text.
Нажмите на файл, который хотите открыть, а затем нажмите "Открыть".
Примечание. Когда вы открываете текстовый файл OpenDocument в Word 2007, он может иметь другое форматирование, чем в исходном приложении, в котором он был создан. Это связано с различиями между приложениями, использующими формат OpenDocument.< /p>
Сохранение документа Word в формате OpenDocument Text
Важно! Если вы хотите сохранить версию файла Word, вы должны сначала сохранить файл как документ Word, например, в формате файла .docx, а затем снова сохранить его в формате OpenDocument Text (.odt). формат.
Нажмите кнопку Microsoft Office и выберите Сохранить как.
Нажмите «Открыть текст документа».
Подробнее о формате OpenDocument
При открытии или сохранении документов в формате OpenDocument Text (.odt) некоторые форматы могут быть потеряны. Это связано с различными функциями и параметрами, такими как форматирование, которые поддерживаются текстовыми приложениями OpenDocument и Word 2007. Дополнительные сведения о различиях между форматом OpenDocument Text и форматом Word 2007 см. в разделе Различия между форматом электронной таблицы OpenDocument (.ods) и форматом Excel для Windows (.xlsx).
Прежде чем отправить файл кому-либо, вы можете закрыть файл и открыть его снова, чтобы посмотреть, как он выглядит в формате OpenDocument Text (.odt).
В этом руководстве вы узнаете об обработке файлов в C. Вы научитесь обрабатывать стандартный ввод-вывод в C с помощью функций fprintf(), fscanf(), fread(), fwrite(), fseek() и т. д. помощь примеров.
Файл — это контейнер на компьютерных запоминающих устройствах, используемый для хранения данных.
Зачем нужны файлы?
- При завершении программы все данные теряются. Сохранение в файле сохранит ваши данные, даже если программа завершит работу.
- Если вам нужно ввести большое количество данных, ввод их всех займет много времени.
Однако, если у вас есть файл, содержащий все данные, вы можете легко получить доступ к содержимому файла с помощью нескольких команд на языке C. - Вы можете легко перенести свои данные с одного компьютера на другой без каких-либо изменений.
Типы файлов
При работе с файлами необходимо знать два типа файлов:
1. Текстовые файлы
Текстовые файлы — это обычные файлы .txt. Вы можете легко создавать текстовые файлы с помощью любых простых текстовых редакторов, таких как Блокнот.
Когда вы откроете эти файлы, вы увидите все содержимое файла в виде обычного текста. Вы можете легко редактировать или удалять содержимое.
Они требуют минимальных усилий для обслуживания, легко читаются, обеспечивают наименьшую безопасность и занимают больше места для хранения.
2. Бинарные файлы
Двоичные файлы — это в основном файлы .bin на вашем компьютере.
Вместо того, чтобы хранить данные в виде обычного текста, они хранят их в двоичной форме (0 и 1).
Они могут содержать больший объем данных, их нелегко читать, и они обеспечивают более высокий уровень безопасности, чем текстовые файлы.
Операции с файлами
В C вы можете выполнять четыре основные операции с файлами, текстовыми или двоичными:
- Создание нового файла
- Открытие существующего файла
- Закрытие файла
- Чтение и запись информации в файл
Работа с файлами
При работе с файлами необходимо объявить указатель типа файл. Это объявление необходимо для связи между файлом и программой.
Открытие файла — для создания и редактирования
Открытие файла выполняется с помощью функции fopen(), определенной в заголовочном файле stdio.h.
Синтаксис открытия файла в стандартном вводе-выводе:
- Предположим, что файл newprogram.txt не существует в папке E:\cprogram. Первая функция создает новый файл с именем newprogram.txt и открывает его для записи в соответствии с режимом 'w'.
Режим записи позволяет создавать и редактировать (перезаписывать) содержимое файла. - Теперь предположим, что второй двоичный файл oldprogram.bin существует в папке E:\cprogram. Вторая функция открывает существующий файл для чтения в бинарном режиме 'rb'.
Режим чтения позволяет только читать файл, вы не можете записывать в файл.
Закрытие файла
Файл (как текстовый, так и двоичный) должен быть закрыт после чтения/записи.
Закрытие файла выполняется с помощью функции fclose().
Здесь fptr — это указатель файла, связанный с файлом, который нужно закрыть.
Чтение и запись в текстовый файл
Для чтения и записи в текстовый файл мы используем функции fprintf() и fscanf().
Это просто версии файлов printf() и scanf() . Единственное отличие состоит в том, что fprintf() и fscanf() ожидают указатель на структуру FILE.
Пример 1. Запись в текстовый файл
Эта программа получает номер от пользователя и сохраняет его в файле program.txt .
После того, как вы скомпилируете и запустите эту программу, вы увидите текстовый файл program.txt, созданный на диске C вашего компьютера. Когда вы откроете файл, вы увидите введенное целое число.
Пример 2. Чтение из текстового файла
Эта программа считывает целое число из файла program.txt и выводит его на экран.
Если вы успешно создали файл из примера 1, запустив эту программу, вы получите введенное целое число.
Другие функции, такие как fgetchar() , fputc() и т. д., можно использовать аналогичным образом.
Чтение и запись в двоичный файл
Функции fread() и fwrite() используются для чтения и записи в файл на диске соответственно в случае двоичных файлов.
Запись в двоичный файл
Для записи в двоичный файл необходимо использовать функцию fwrite(). Функции принимают четыре аргумента:
- адрес данных для записи на диск
- размер данных для записи на диск
- количество таких данных
- указатель на файл, в который вы хотите записать.
Пример 3. Запись в двоичный файл с помощью fwrite()
В этой программе мы создаем новый файл program.bin на диске C.
Мы объявляем структуру threeNum с тремя числами — n1, n2 и n3 и определяем ее в основной функции как num.
Теперь внутри цикла for мы сохраняем значение в файле с помощью fwrite() .
Первый параметр принимает адрес num, а второй параметр принимает размер структуры threeNum .
Поскольку мы вставляем только один экземпляр num , третий параметр равен 1 . И последний параметр *fptr указывает на файл, в котором мы сохраняем данные.
Наконец, мы закрываем файл.
Чтение из двоичного файла
Функция fread() также принимает 4 аргумента, как и функция fwrite(), описанная выше.
Пример 4. Чтение из двоичного файла с помощью функции fread()
В этой программе вы читаете один и тот же файл program.bin и перебираете записи одну за другой.
Проще говоря, вы читаете одну запись threeNum размера threeNum из файла, на который указывает *fptr, в структуру num .
Вы получите те же записи, что и в примере 3.
Получение данных с помощью fseek()
Если у вас есть много записей в файле и вам нужно получить доступ к записи в определенной позиции, вам нужно пройтись по всем записям перед этим, чтобы получить запись.
Это приведет к потере большого количества памяти и рабочего времени. Более простой способ получить необходимые данные можно с помощью fseek() .
Как следует из названия, fseek() ищет курсор для данной записи в файле.
Синтаксис fseek()
Первый поток параметров — это указатель на файл. Второй параметр — это позиция искомой записи, а третий параметр указывает место, где начинается смещение.
Читайте также: