2009-09-09 15:23:43 +0000 2009-09-09 15:23:43 +0000
189
189

"Этот файл пришел с другого компьютера..." - как разблокировать все файлы в папке без необходимости разблокировать их по отдельности?

Windows XP SP2 и Windows Vista имеют такую сделку, где информация о зоне сохраняется в загруженных файлах на NTFS разделы, так что она блокирует определенные файлы в определенных приложениях до тех пор, пока вы не “разблокируете” файлы.

Так что, например, если вы загрузите zip-файл с исходным кодом, чтобы попробовать что-то, каждый файл будет отображать это в настройках безопасности свойств файла

“Этот файл пришел с другого компьютера и может быть заблокирован, чтобы помочь защитить этот компьютер”

Наряду с “Разблокировать” кнопку. Некоторые программы не заботятся, но Visual Studio откажется загружать проекты в решения до тех пор, пока они не будут разблокированы.

Хотя это не страшно трудно перейти к каждому файлу проекта и разблокировать его по отдельности, это больно. И не похоже, что вы можете разблокировать несколько выбранных файлов одновременно.

Есть ли способ разблокировать все файлы в каталоге без необходимости идти к ним все по отдельности?

** Я знаю, что вы можете отключить это глобально для всех новых файлов, но скажем, что я не хочу этого делать**.

Ответы (14)

185
185
185
2009-09-09 15:41:51 +0000

Если вы загрузите .ZIP и распаковать его, отдельные файлы будут помечены как та же зона, что .ZIP. Почти каждый раз, когда у меня есть папка, полная “заблокированных” файлов, вот как я их получил.

Перед распаковкой, нажмите кнопку Разблокировать на .ZIP.

94
94
94
2012-05-09 14:08:40 +0000

PowerShell, доступная здесь , имеет команду Unblock-File, которая выполнит эту задачу за вас. Чтобы разблокировать все файлы в каталоге, нужно выполнить следующую команду.

dir c:\mydir -Recurse | Unblock-File Unblock-File doc

65
65
65
2009-09-09 15:31:09 +0000

Это довольно просто, NTFS прикрепляет поток данных (который идентифицирует “небезопасные файлы”) к файлу, когда он только что скачан из Интернета.

Сделайте рекурсивное удаление этого потока для всех файлов, выполните следующие шаги :

  1. Загрузите исполняемый файл Потоки CLI из Microsoft
  2. Поместите исполняемый файл streams.exe в каталог Windows (или в любое другое место, где его может найти система)
  3. Запустите эту строку в командной строке :

streams -s -d directory

Затем удалите все потоки данных из всех файлов рекурсивно в каталоге - теперь все файлы успешно разблокированы.

31
31
31
2009-09-09 15:47:51 +0000

AlternateStreamView может перечислить все альтернативные потоки NTFS для файлов в каталогах (и подкаталогах, если необходимо).

Удалить все потоки с пометкой “:Zone.Identifier:$DATA” для выбранных файлов, чтобы избавиться от блоков безопасности.

12
12
12
2010-08-26 03:54:57 +0000

Очень простой обходной путь для этого типа привязывается к первому ответу, скажем, если у вас есть около 1000 файлов, которые все заблокированы, просто возьмите все файлы, и поместите их в новую папку на рабочем столе (или любой другой каталог папок, в котором вы работаете), щелкните правой кнопкой мыши на эту папку, а затем нажмите кнопку Send To, а затем из опций нажмите кнопку Compressed (zipped) Folder, после чего удалите ваши оригинальные файлы и извлеките . ZIP папку и Viola!!! все ваши файлы разблокированы :D, работал для меня на XP Pro SP3, так что вроде как предположить, что он будет работать на vista также

9
9
9
2010-12-31 11:17:41 +0000

Чтобы отключить блокировку при загрузке файлов, откройте следующий ключ реестра:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments\SaveZoneInformation

Change SaveZoneInformation to 1.

NOTE:

  • 0 = Не сконфигурировано
  • 1 = Включено
  • 2 = Включено
  • 2 = Неактивировано
8
8
8
2009-09-09 16:28:51 +0000

Как говорится в другом плакате, флаг незащищенного файла хранится в потоке данных NTFS. Это означает, что существует очень простой способ удалить этот поток данных, просто переместите файл на диск, который не поддерживает потоки данных NTFS.

Предположим, что ваша проблема больше связана с количеством файлов, а не с их размером, то самым простым способом сделать это может быть переместить (не копировать) файлы на диск, отформатированный в FAT, затем переместить их обратно на диск NTFS (почти каждая USB-флешка отформатирована в FAT32, так что все будет хорошо), а затем переместить эти файлы обратно туда, где вы хотите их видеть.

Я делал это раньше, когда хотел снять заблокированный флаг с целой директории загруженных файлов, и он делал именно то, что мне нужно.

7
7
7
2013-03-24 21:15:28 +0000
  • Скачайте утилиту Sysinternals Streams .
  • Распакуйте и скопируйте streams.exe по адресу \Windows\System32.
  • Создайте новый текстовый файл и переименуйте его в нечто вроде “unblocker.reg”.
  • Скопируйте в него следующий скрипт реестра:

  • Сохраните файл.

  • Дважды щелкните по сохраненному файлу, чтобы объединить его с реестром.

  • После этого, каждый раз, когда вы щелкаете правой кнопкой мыши по файлу, вы можете выбрать “Разблокировать файл” в контекстном меню или вы можете щелкнуть правой кнопкой мыши по папке и выбрать “Разблокировать файлы здесь”. source

2
2
2
2012-05-09 13:49:26 +0000

У меня была та же проблема и способ разблокировки файлов:

  • я добавил все заблокированные файлы в RAR-архив (я использовал WinRAR)
  • я удалил оригинальные файлы
  • я извлек все файлы из архива

Все файлы теперь разблокированы.

Для меня это были некоторые проблемы MSDN Magazine, которые были в формате .chm, но я не думаю, что тип файла имеет значение.

1
1
1
2014-09-16 15:20:15 +0000

ZoneIDTrimmer выглядит как самый удобный инструмент для этого:

1
1
1
2016-07-11 08:21:37 +0000

Я искал пакетный метод (без использования powershell) и после прочтения этого поста я придумал это простое решение

echo. > .\filename.zip:Zone.Identifier

, которое не удалит поток данных Zone.Identifier, а очистит его содержимое, которое, кажется, работает нормально.

Другое решение (которое очистит все потоки данных и использует временный файл, это следующее)

type filename.zip > filename.zip.tmp
move /y filename.zip.tmp filename.zip
0
0
0
2013-02-18 03:27:27 +0000

У меня есть внешний жесткий диск USB, который отлично работает для удаления блоков… Я сделал небольшой раздел и отформатировал его в FAT32…когда я хочу удалить блок из чего-то, я просто перемещаю его на этот диск, а затем переместить его обратно :-)

-4
-4
-4
2012-01-09 12:01:51 +0000

Да. В командной строке, takeown /f <name of file>.

В вашем случае, takeown /f *.* /r, чтобы вернуться во все подкаталоги и разблокировать *.*. Играйте с шаблоном, если необходимо.

takeown /? для получения дополнительных инструкций по использованию.

-5
-5
-5
2012-01-26 19:29:15 +0000

Есть другой простой способ. Просто выберите файл или папку, щелкните по ней правой кнопкой мыши и выберите Properties⇨Security⇨Edit, затем щелкните по Full Control.

После этого просто щелкните по [Save] и выйдите.

Domande correlate

3
19
10
28
4