В Windows XP с пакетом обновления 2 (SP2) и Windows Vista имеется соглашение, в котором информация о зоне сохраняется в загруженных файлах в разделы NTFS, так что она блокирует определенные файлы в определенных приложениях до тех пор, пока вы не «разблокируете» файлы.
Так, например, если вы загружаете zip-файл исходного кода, чтобы попробовать что-то, каждый файл отобразит это в настройках безопасности свойств файла.
«Этот файл был получен с другого компьютера и может быть заблокирован для защиты этого компьютера»
Вместе с кнопкой «Разблокировать». Некоторым программам все равно, но Visual Studio откажется загружать проекты в решения до тех пор, пока они не будут разблокированы.
Хотя не очень сложно перейти к каждому файлу проекта и разблокировать его по отдельности, это боль. И это не появляется, вы можете разблокировать несколько выбранных файлов одновременно.
Есть ли способ разблокировать все файлы в каталоге без необходимости обращаться к ним по отдельности?
Я знаю, что вы можете отключить это глобально для всех новых файлов, но допустим, я не хочу этого делать
Ответы:
Если вы загрузите
.ZIP
и разархивируете его, отдельные файлы будут помечены в той же зоне, что и.ZIP
. Почти каждый раз, когда у меня есть папка, заполненная «заблокированными» файлами, я их так получаю.Перед разархивированием нажмите кнопку Разблокировать на
.ZIP
.источник
PowerShell, доступный здесь , имеет
Unblock-File
командлет, который выполнит эту задачу за вас. Чтобы разблокировать все файлы в каталоге, вы должны выполнить следующую команду.dir c:\mydir -Recurse | Unblock-File
Unblock-File doc
источник
dir -Recurse | Unblock-File
Это довольно просто: NTFS подключает к файлу поток данных (который идентифицирует «небезопасные файлы»), когда он только загружается из Интернета.
Рекурсивно удалите этот поток для всех файлов, выполните следующие действия:
Затем он рекурсивно удалит все потоки данных из всех файлов в каталоге - теперь вы успешно разблокировали все файлы.
источник
AlternateStreamView может перечислять все альтернативные потоки NTFS для файлов в каталоге (и подкаталогах, если это необходимо).
Удалите все потоки, помеченные « : Zone.Identifier: $ DATA » для выбранных файлов, чтобы избавиться от блоков безопасности.
источник
Очень простой обходной путь для такого рода связан с первым ответом, например, если у вас есть около 1000 заблокированных файлов, просто возьмите все файлы и поместите их в новую папку на рабочем столе (или в любую папку, в которой вы работаете) щелкните правой кнопкой мыши на указанной папке и затем нажмите кнопку «Отправить», затем выберите «Сжатая (заархивированная) папка», затем удалите исходные файлы и извлеките папку .ZIP и Viola !!!. Все ваши файлы разблокированы: D, сработало для меня на XP Pro SP3, так что вроде бы он будет работать и на Vista
источник
Чтобы отключить блокировку при загрузке файлов, откройте следующий раздел реестра:
Измените SaveZoneInformation на 1.
НОТА:
источник
Как сказал другой автор, флаг небезопасного файла хранится в потоке данных NTFS. Это означает, что существует очень простой способ удалить этот поток данных, просто переместите файл на диск, который не поддерживает потоки данных NTFS.
Если предположить, что ваша проблема больше связана с количеством файлов, а не с их размером, то самый простой способ сделать это - переместить (а не скопировать) файлы на диск, отформатированный в FAT, а затем переместить их обратно в NTFS. диск (почти каждый USB-накопитель отформатирован в FAT32, так что будет хорошо), а затем переместите эти файлы обратно туда, где вы хотите их.
Я делал это раньше, когда хотел убрать флаг блокировки из целого каталога загруженных файлов, и он сделал именно то, что мне было нужно.
источник
Скопируйте приведенный ниже скрипт реестра:
Сохраните файл.
После этого, когда вы щелкаете правой кнопкой мыши файл, вы можете выбрать «Разблокировать файл» в контекстном меню или щелкнуть правой кнопкой мыши папку и выбрать «Разблокировать файлы здесь».
источник
источник
@="cmd /c C:\PROGRA~2\Sysinternals\streams.exe -d -s \"%1\""
AlternateStreamView отлично. Другой способ - архивировать файлы в .RAR, 7z или .ZIP. Удалите оригиналы, а затем повторно извлеките файлы.
источник
У меня была та же проблема, и способ, которым я разблокировал файлы, был:
Все файлы теперь разблокированы.
Для меня это были некоторые проблемы MSDN Magazine, которые были в формате .chm, но я не думаю, что тип файла имеет значение.
источник
ZoneIDTrimmer выглядит как наиболее удобный инструмент для этого:
источник
Я искал пакетный метод (без использования powershell) и после прочтения этого поста я придумал это простое решение
это не удалит
Zone.Identifier
поток данных, но очистит его содержимое, которое, кажется, работает нормально.Другое решение (которое очистит все потоки данных и использует временный файл)
источник
У меня есть внешний жесткий диск USB, который отлично работает для удаления блоков ... Я сделал небольшой раздел и отформатировал его в FAT32 .. Когда я хочу удалить блок из чего-то, я просто перемещаю его на этот диск, а затем перемещаю обратно :-)
источник
Да. В командной строке
takeown /f <name of file>
.В вашем случае
takeown /f *.* /r
зайти во все подкаталоги и разблокировать*.*
. Играйте с шаблоном, если это необходимо.takeown /?
для получения дополнительных инструкций по использованию.источник
Есть еще один простой способ. Просто выберите файл или папку, щелкните правой кнопкой мыши и выберите « Свойства» - « Безопасность» - « Редактирование» , затем нажмите « Полный доступ» .
После этого вы должны просто нажать
[Save]
и выйти.источник