Нельзя удалять или изменять файл
Изменить слово в бинарном файле
Всем привет! У меня есть некое приложение которое должно изменить значение в бинарном файле. Это.
Не получается изменить данные в бинарном файле
Здравствуйте. Мучаюсь, не пойму как сделать чтобы изменить данные. Программа обращается к файлу с.
Как изменить один байт в бинарном файле?
Здравствуйте. Второй день бьюсь над вопросом, просмотрел много примеров, но не понимаю, помогите.
Удалить запись в бинарном файле
Доброго временни суток, пишу функции записи/чтения. В приложении есть массив очень сложных объектов.
Тут есть несколько проблем. Во первых, в этом примере, используется только int32, 4-байтовый, и можно вычислить смещение, и заменить значение, при этом даже размер файла не уменьшится. В случае же со string, как я понимаю, размер данных будет зависеть от количество символов. И если даже взять просто одну строку string, размером в 100 символов, то после замены середины файла, количество символов может просто уменьшится, а что при этом будет с оставшейся частью файла? Кроме того, я никак не могу в принципе вычислить размер экземпляра класса, или хотя бы размер инициализированной переменной типа string.
Добавлено через 20 минут
Да, string вычислить можно, просто надо количество символов перемножить на размер одного символа в нужной кодировке. Но вот вычислить, сколько займет места в бинарном файле с десяток атрибутов класса, весьма трудно, а ведь потом чтобы сместиться в нужную позицию файла, надо точно знать, сколько места занимает каждый сохраненный экземпляр класса коллекции.
Использование сторонних программ
Для того чтобы решить все проблемы с доступом к файлам и иметь возможность их удалить вне зависимости от того, используются они или нет, существует ряд утилит, как раз и предназначенных для разблокировки подлежащих уничтожению объектов.
Unlocker
Пожалуй, известнейшая программа, известная давно и используемая часто. Найти ее можно по этой ссылке, где есть нужные версии под 32-х и 64-х разрядные ОС. Есть и портативная версия для тех, кто не любит устанавливать много программ в систему, а предпочитает запускать нужные средства для обслуживания системы автономно.
В использовании портативных версий есть еще одно преимущество: при инсталляции подобных программ часто «паровозом» инсталлируются еще несколько утилит, расширений к браузерам и т. п., которые вам совсем не нужны, которые буду досаждать рекламой, и от которых, порой, не совсем просто избавиться. Приходится быть внимательным при установке подобного софта. Как правило, с портативными версиями такого не происходит.
Сама программа предельно проста. При запуске откроется окно, где необходимо указать расположение файла, который необходимо удалить.
Надо только нажать кнопку «Ок», после чего появится новое окно, в котором нужно будет подтвердить действие, которое надо выполнить над файлом. Если никаких блокировок файла не найдено, то появится окно:
Надо указать, что делать с файлом – удалить, оставить как есть, перенести и т. п.
Почему файл или папка не удаляются
Немного справочной информации с сайта Microsoft, если кому-нибудь интересно. Хотя, информация довольно скудная. Также может быть полезным: Как очистить диск от ненужных файлов.
Что может мешать удалению файла или папки
Если у вас нет необходимых прав в системе для изменения файла или папки, вы не можете удалить их. Если вы не создавали файл, то есть вероятность, что вы не можете и удалить его. Также причиной могут служить настройки, сделанные администратором компьютера.
Также файл или папку его содержащую нельзя удалить, если в настоящий момент файл открыт в программе. Можно попробовать закрыть все программы и попробовать еще раз.
Изменение владельца
Кликните правой кнопкой мыши по проблемной папки или файлу, выберите пункт «Свойства», а затем перейдите на вкладку «Безопасность». В этой вкладке нажмите кнопку «Дополнительно».
В следующем окне (Выбор Пользователь или Группа) нажмите кнопку «Дополнительно».
После этого, в появившемся окне нажмите кнопку «Поиск», а затем найдите и выделите в результатах поиска своего пользователя и нажмите «Ок». В следующем окне также достаточно нажать «Ок».
Если вы изменяете владельца папки, а не отдельного файла, то логичным будет также отметить пункт «Заменить владельца подконтейнеров и объектов» (меняет владельца вложенных папок и файлов).
Использование «Диспетчера задач»
Для этого достаточно просто закрыть эту программу (если есть такая возможность), либо остановить выполняющийся процесс. Для этого понадобиться открыть «Диспетчер задач», что можно сделать нажатием комбинации клавиш «Ctrl»+«Shift»+«Esc». После этого на вкладке «Процессы» надо найти блокирующий доступ к файлу процесс и завершить его.
После этого файл можно попробовать удалить. Скорее всего, это получится.
Использование загрузочного диска
Случается, что даже безопасный режим не позволяет избавиться от ненужной папки или файла. Тогда может помочь загрузка с внешнего загрузочного диска. Как вариант – жесткий диск, на котором необходимо произвести удаление файлов, можно подключить к другому компьютеру. Тогда, загрузившись с другого носителя, ваш диск будет подключен в качестве второго (третьего и т. д.) диска, ОС на котором будет не запущена. Теперь остается только найти нужный файл и удалить его.
Использование командной строки
Для того, чтобы воспользоваться этим средством, нужно запустить командную строку, для чего после нажатия кнопки «Пуск» в поле поиска ввести «cmd», нажать правую кнопку мыши и выбрать режим запуска с административными правами. Откроется окно, в котором следует ввести команды на удаление файла или папки.
Этим способом можно попробовать удалить поврежденный файл.
Проверка доступа к файлу
Помогающий в некоторых случаях способ удалить файл – перезагрузка компьютера. Вполне возможно, что тот объект, от которого необходимо избавиться – результат работы той или иной программы, которая была деинсталлирована некорректно, или это было выполнено не полностью, и в системе остались какие-то программные модули (DLL, процессы), которые все еще работают и не позволяют выполнить удаление. Вполне возможно, что после перезапуска системы ненужные процессы работать не будут и файл освободится от излишней опеки. Удаляйте.
Другой момент – запрет на выполнение операций записи/стирания в данной папке, установленный администратором компьютера. Необходимо зайти в свойства папки, и на вкладке «Безопасность» проверить выданные права.
Если разрешено только чтение, то следует дать полный доступ к данной папке, после чего возможно будет производить любые действия со всеми файлами, в ней находящимися. Следует быть особенно аккуратным с системными папками.
Использование безопасного режима
Если остановить блокирующий доступ к файлу процесс не удается по тем или иным причинам, или непонятно, какой же процесс мешает, то может помочь этот способ, при котором система загружается в безопасном режиме. При этом стартует необходимый минимум процессов, и тот, который «держал» файл, останется в неактивированном состоянии. Можно попробовать удалить файл.
Другие программы
Помимо перечисленных есть и другие утилиты, выполняющие ту же работу. Как пример, можно привести: Delete Doctor, Free File Unlocker, MoveOnBoot, Tizer UnLocker, Wize Force Deleter. Принцип действия у них схож, поэтому, выбирать можно ту, которая понравилась и которая помогла решить проблемы с неудаляемыми файлами или папками.
FileASSASSIN
Бесплатная утилита, скачать которую можно по ссылке. Среди достоинств программы – простой интерфейс, возможность запуска из командной строки, разблокировка и (если указан такой режим) удаление файла.
Чтобы избавиться от ненужного файла, надо указать путь к нему, отметить галочкой пункт «Delete file» и нажать кнопку «Execute». Это все, что необходимо сделать. Если работать с командной строкой вы не хотите, а также не хотите копаться в процессах и запущенных программах, то данный способ – возможность быстро и эффективно решить все проблемы с заблокированными файлами.
Проверка на вирусы
Файл может оказаться вирусом, той или иной вредоносной программой, или ее частью, удалить которую не удается. Если давно не было проведено сканирование компьютера на вирусы, следует сделать это. Если были найдены и обезврежены подозрительные программы, надо попробовать удалить этот файл.
Удаление папки
Для удаления папки целиком используется другая команда:
/S – удаление вложенных папок и файлов.
/Q — не выдавать запрос на подтверждение операции удаления.
Пример показан следующем скриншоте.
Удаление файла без дополнительных программ
Файл уже используется. Закройте файл и повторите попытку.
Это легко сделать — запустите диспетчер задач:
Найдите процесс, использующий файл, который нужно удалить и снимите задачу. Удалите файл. Если файл занят процессом explorer.exe, то перед тем, как снять задачу в диспетчере задач, запустите командную строку от имени администратора и, уже после того, как снимите задачу, используйте в командной строке команду del полный_путь_к_файлу, чтобы удалить его.
Чтобы после этого вернуть стандартный вид рабочего стола, нужно снова запустить explorer.exe, для этого в диспетчере задач выберите «Файл» — «Новая задача» — «explorer.exe».
После удаления всех файлов остается пустая папка
В данном случае попробуйте закрыть все открытые программы или перезагрузить компьютер, а после этого удалить папку.
Видео инструкция
Ну и обещанная видео инструкция о том, что делать, если при удалении файла или папки Windows пишет, что отказано в доступе и требуется запросить разрешение от Администраторов.
Надеюсь, представленная информация помогла вам. Если же это не так, буду рад ответить на ваши вопросы.
А вдруг и это будет интересно:
19.03.2022 в 20:28
Фи.
У меня на внешнем ЖД(USB-адаптер) даже если и сработало по вышеуказанным шагам — после выкл. и новом включении — восстанавливается всё как и до редактирования (!?) — а сколько часов потратил (320 Гб как-никак, фото-музыка-литер. за 5 лет…)
Даже вот подключил новый ЖД, создал просто папку и закинул пару файлов — всё, «Только для чтения»…и та же история (восстанавливается исходное после переподключения)
На «твёрдотельных» (флэшки), подкл. к тем же портам USB — этого нет, только на винчестерах, создающих свои «Буквы» в системе…
26.03.2022 в 14:39
Когда нажимаю изменить при добавлении владельца, не открывается окошко, что делать?
10.04.2022 в 04:50
Вообще не помогло, какая то чушь. Вы конкретно покажите как удалить антивирус, который требует разрешения системы.
10.04.2022 в 08:51
Антивирусы нужно удалять прежде всего деинсталлятором (через панель управления — программы и компоненты), а не папку сразу пробовать снести. Если не получилось — искать официальную утилиту удаления конкретного антивируса.
Частая проблема, с которой сталкиваются начинающие пользователи — не удаляется файл или папка (из-за какого-то файла), который нужно-таки удалить. При этом, система пишет файл занят другим процессом или действие не может быть выполнено, так как этот файл открыт в Название_программы или о том, что нужно запросить разрешение у кого-то. С этим можно столкнуться в любой версии ОС — Windows 7, 8, Windows 10 или XP.
На самом деле, есть сразу несколько способов удалить такие файлы, каждый из которых и будет здесь рассмотрен. Посмотрим, как удалить не удаляющийся файл, не используя сторонние средства, а затем опишу удаление занятых файлов с помощью LiveCD и бесплатной программы Unlocker. Отмечу, что удаление таких файлов не всегда безопасно. Будьте внимательны, чтобы это не оказался файл системы (особенно когда вам сообщают, что нужно разрешение от TrustedInstaller). См. также: Как удалить файл или папку, если пишет Элемент не найден (не удалось найти этот элемент).
Также, если не удаляются файлы pagefile.sys и swapfile.sys, hiberfil.sys то способы ниже не помогут. Вам пригодятся инструкции про Файл подкачки Windows (первые два файла) или про отключение гибернации. Аналогично, может быть полезна отдельная статья про то, как удалить папку Windows.old.
Как запросить разрешение администратора на удаление папки или файла
На самом деле, запрашивать какое-либо разрешение, чтобы изменить или удалить папку нам не потребуется: вместо этого мы сделаем так, чтобы пользователь «стал главным и решал, что ему делать» с указанной папкой.
Это выполняется в два шага — первый: стать владельцем папки или файла и второй —предоставить себе необходимые права доступа (полные).
Примечание: в конце статьи имеется видео инструкция о том, что делать, если для удаления папки требуется запросить разрешение от «Администраторы» (на случай, если из текста что-то останется не ясным).
Бесплатная программа Unlocker для разблокировки файлов, которые не удаляются
Использование программы очень простое — после установки, просто кликните правой кнопкой мыши по файлу, которые не удаляется и выберите в контекстном меню пункт «Unlocker». В случае использования portable версии программы, которая также доступна для загрузки, запустите программу, откроется окно для выбора файла или папки, которые требуется удалить.
Суть работы программы та же самая, что и в первом описанном способе — выгрузка из памяти процессов, которыми занят файл. Основные преимущества перед первым способом — с помощью программы Unlocker файл удалить проще и, более того, она может найти и завершить процесс, который скрыт от глаз пользователей, то есть недоступен для просмотра через диспетчер задач.
Обновление 2017: Еще один способ, судя по отзывам, успешно срабатывающий, был предложен в комментариях автором Тоха Айтишник: устанавливаете и открываете архиватор 7-Zip (бесплатный, работает также как файловый менеджер) и в нем переименовываете файл, который не удаляется. После этого удаление проходит успешно.
Решение
paradox81ru,
1) Зачем вам это нужно? Такие манипуляции обычно нужны если у вас ну очень большой объем файла и очень критично быстродействие. Если это не так, то нужно просто читать файл в память, выполнять манипуляции а потом уже сохранять обратно.
2) Прямых методов вставки данных внутрь файла не существует (есть только запись поверх). Даже если бы и было, то по любому системе придется смещать и копировать хвост файла, то есть фактически делать пункт 1, но на более низком уровне.
3) А если уж все таки очень нужно, то такие вещи достигаются специальной структурой файла. Внутри файла запись идет отдельными блоками ("записями") и порядок записей регулируется не их последовательностью в файле, а специальной таблицей (типа FAT) или отдельным списком. Тогда вместо вставки записи внутрь файла, запись дописывается в конец, и меняется соотв образом таблица.
Удалить строку в бинарном файле
Подскажите, пожалуйста, как удалить определенную строку из бинарного файла (.bin)? дельфи.
Секретные данные в бинарном файле
Есть некие данные. Структура определена в h-файле, данные записываются в бинарный файл сплошной.
Можно ли удалить или вставить данные в базу в global.asa при событии session_onEnd ?
Вот этот скрипт при событии session_OnEnd не выполняется то есть данные из базы не удаляются .
Использование DeadLock для разблокирования и удаления файлов
Удаление заблокированного файла с помощью загрузочной флешки или диска
Еще один способ удалить подобный файл — загрузиться с любого накопителя LiveCD, с диска реанимации системы или загрузочной флешки Windows. При использовании LiveCD в любых его вариантах вы сможете воспользоваться либо стандартным графическим интерфейсом Windows (например, в BartPE) и Linux (Ubuntu), либо же средствами командной строки. Обратите внимание, что при загрузке с подобного накопителя, жесткие диски компьютера могут оказаться под другими буквами. Чтобы убедиться, что вы удаляете файл с нужного диска, можно использовать команду dir c: (этот пример отобразит список папок на диске C).
При использовании загрузочной флешки или установочного диска Windows 7 и Windows 8, в любой момент установки (после того, как уже загрузится окно выбора языка и на следующих этапах) нажмите Shift + F10, чтобы войти в командную строку. Также можно выбрать «Восстановление системы», ссылка на которое также присутствует в программе установки. Также, как и в предыдущем случае, обратите внимание на возможное изменение букв дисков.
Установка разрешений для пользователя
Итак, мы стали владельцем, но, вероятнее всего, удалить его пока так и нельзя: нам не хватает разрешений. Вновь зайдите в «Свойства» — «Безопасность» папки и нажмите кнопку «Дополнительно».
Обратите внимание, есть ли в списке «Элементы разрешений» ваш пользователь:
- Если нет — нажимаем кнопку «Добавить» ниже. В поле субъект нажимаем «Выберите субъект» и через «Дополнительно» — «Поиск» (как и когда меняли владельца) находим своего пользователя. Устанавливаем для него «Полный доступ». Также следует отметить пункт «Заменить все записи разрешений дочернего объекта» внизу окна «Дополнительные параметры безопасности». Применяем все сделанные настройки.
- Если есть — выбираем пользователя, нажимаем кнопку «Изменить» и устанавливаем полные права доступа. Отмечаем пункт «Заменить все записи разрешений дочернего объекта». Применяем настройки.
Причины, из-за которых папка или файл не удаляются
Невозможность удаления файла может быть объяснена несколькими причинами:
- Недостаточно прав на выполнение операции удаления.
- Файл используется другим пользователем или программой.
- Папка или файл повреждены.
- На носителе, на котором расположен интересующий файл, установлена защита от записи, а, значит, и от удаления.
Решить возникшую проблему можно разными способами: воспользоваться возможностями, которые есть в операционной системе, либо прибегнуть к помощи сторонних утилит, которые и предназначены для выполнения подобных действий. Рассмотрим все методы избавления от ненужных файлов.
Следует только сделать одну оговорку – вы уверены, что предназначенный для удаления файл действительно ненужный? ОС Windows защищает папки и файлы, необходимые для ее стабильного функционирования, и попытки настоять на своем могут привести к «падению» системы и необходимости решать уже совсем другие задачи. Прежде, чем приступать к удалению файлов, убедитесь, что это действительно «мусор». Особенно аккуратным следует быть при избавлении от объектов в системных папках.
Проверка защиты от записи
Прежде чем приступать к каким-то радикальным методам, следует убедиться в том, что вы имеете право удалять файлы. Если они расположены на флешках или картах памяти, то начать надо с самого простого – убедиться, что механический переключатель, который предотвращает запись/стирание, не установлен в соответствующее положение, блокирующее выполнение подобных действий.
Заключение
Чем удалить файлы или папки, какой способ выбрать – все зависит от конкретной ситуации. Кто-то предпочитает использовать специализированный «софт», кто-то не любит захламлять систему множеством узкоспециальных утилит и предпочитает использовать все встроенные возможности ОС.
Главное – иметь представление о разных способах решения проблем и умение их применять на практике. Надеемся, что как минимум один из предложенных нами способов вам помог.
Весной этого года компания Microsoft начала интеграцию Linux-инструментария в свою новую ОС Windows 10. Первым шагом было включение Ubuntu и Bash инструментария в сборку 14316. Суть обновления заключалась в добавлении прослойки WSL, которая транслировала системные вызовы Linux в системные вызовы Windows, что позволяет развернуть в основном окружении Windows полноценный инструментарий Ubuntu Linux без эмуляции и виртуализации.
Вчера Microsoft опубликовала в официальном блоге запись, призывающую разработчиков не изменять, создавать или удалять файлы Linux при помощи инструментов или приложений Windows, так как это приводит к повреждению дистрибутива с необходимостью его последующей переустановки.
В начале поста в блоге на MSDN стоит крупное предупреждение:
Ни при каких обстоятельствах НЕ создавайте и/или изменяйте файлы Linux с помощью Windows, будь то приложения, инструменты, скрипты, консоли и т.д.
Создание/изменение файлов Linux из под Windows, скорее всего, приведет к повреждению данных и / или повреждению среды Linux, что в дальнейшем потребует переустановки дистрибутива!
Речь идет о любых файлах или папках, которые лежат в %LOCALAPPDATA%\lxss в подсистеме Linux в Windows 10.
Происходит подобное, судя по информации в блоге, из-за логики работы WSL.
Если WSL не удается найти файл метаданных Linux для данного файла, то делается вывод, что файл либо поврежден или удален, либо вы не в состоянии открыть или правильно прочитать файл, что приводит к сбоям. В некоторых случаях удаленные файлы распознаются как «поврежденные».
«Метаданные файлов (расширения, дата создания и прочая информация) формируются в Linux и Windows по-разному. По этой причине ПО и инструменты для Windows не способны корректно сохранить и записать метаданные Linux-файлов (в принципе, они и не должны этого уметь). Кроме этого некоторое ПО для Windows часто не редактирует исходный файл, а создает его копию. При этом исходный файл удаляется и заменяется другим, а метаданные теряются», — говорится в блоге.
Решается данная проблема хранением необходимых файлов, работа с которыми производится средствами Windows, в рамках файловой системы ОС от Microsoft, а файлы Linux не изменять, создавать или удалять при помощи инструментов для Windows.
Заранее предупрежу, что во многих случаях, ошибка доступа к файлу или папке с необходимостью запросить разрешение от «Администраторы», связана с тем, что вы пытаетесь удалить какой-то важный элемент системы. Так что будьте внимательны и осторожны. Руководство подойдет для всех последних версий ОС — Windows 7, 8.1 и Windows 10.
Удаление файла
Используется команда «Del». Надо ввести строку:
/F – принудительное удаление файлов, помеченных как доступные только для чтения.
/Q – не выдавать запрос на подтверждение операции удаления.
/S – удаление вложенных папок и файлов в них.
На скриншоте показан пример. Естественно, путь у вас будет другой.
Почему, когда я пробую удалить файл, Windows пишет, что файл используется
Читайте также: