Перейти к содержимому

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

182

В Windows XP с пакетом обновления 2 (SP2) и Windows Vista имеется соглашение, в котором информация о зоне сохраняется в загруженных файлах в разделы NTFS, так что она блокирует определенные файлы в определенных приложениях, пока вы не «разблокируете» файлы.

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

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

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

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

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

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

225 530 просмотров
Tom Kidd спросил 16 лет назад
T 912

15 ответов

178
Принятый ответ

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

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

Это определенно самый простой - ты выиграл

Tom Kidd · 16 лет назад · 1

+1 к тому же выводу, к которому я пришел - простой способ упаковать файлы не в формате NTFS - нашел это, выполнив поиск в Google по следующим условиям: разблокируйте все файлы в каталоге xp.

Will Bickford · 16 лет назад · 0

Вообще-то, нет. Я загружаю zip-файлы, чтобы использовать их содержимое, и разрешаю браузеру автоматически открывать zip-файлы. Оттуда я призываю «Извлечь все файлы». Нет возможности разблокировать их в этом месте, и поиск файла zip в папке загрузки или, что еще хуже, в папке temp, очень * утомителен.

Thomas Eyde · 15 лет назад · 3

Хотел бы я поднять это более одного раза.

dave thieben · 15 лет назад · 0

Это решение работает, только если вы не изменили файлы, которые вышли из ZIP-файла.

Charlie · 12 лет назад · 0

@ThomasEyde - Интересно, может ли приведенный ниже ответ оказаться на полпути к тому, чтобы заставить Explorer запускать программу `streams 'для ZIP перед запуском Разархиватор Explorer i DLL?

user66001 · 12 лет назад · 0

@ Чарли, вы все еще можете архивировать измененные файлы, разблокировать, а затем распаковать

seanjacob · 11 лет назад · 0

Есть ли способ сбросить информацию о зоне после разблокировки файла? Разблокировав файл, я ничего не вижу в свойствах файла, с помощью которого я могу отменить это действие?

RBT · 9 лет назад · 0

Если ZIP-файл помечен как «Только для чтения», нажатие кнопки «Разблокировать» НЕ РАБОТАЕТ! Чтобы исправить это: Снимите флажок с атрибута «Только для чтения», разблокируйте его, затем снова установите флажок «Только для чтения».

Gabriel Staples · 8 лет назад · 0
Jay Bazuzi ответил 16 лет назад
J 2 905
86

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

dir c:\mydir -Recurse | Unblock-File

Unblock-File doc

Это уже не бета-версия, она выпущена и работает довольно хорошо.

Ken Hiatt · 13 лет назад · 2

Отлично! Я извлек большой почтовый индекс и забыл сначала разблокировать его, а затем удалил почтовый индекс, чтобы сэкономить место. Это спасло меня от повторной загрузки или от ручной работы :)

Danny Tuppeny · 12 лет назад · 0

Это сработало для меня, но не предоставило никакой обратной связи по линии cmd. Я также немного подправил, если вы уже в папке, то вы можете просто сделать dir -Recurse | Разблокирование-File

user36088 · 11 лет назад · 3

+1 за то, что больше не нужно разархивировать .. внесены изменения в некоторые файлы уже

Jony Adamit · 11 лет назад · 0

Работает как чемпион. Это должен быть принятый ответ.

Chuck Conway · 11 лет назад · 3

Ненадежный для меня на Windows 7 SP1 x64. Работает для некоторых каталогов, но не для других, и я не могу понять, почему. Нет ошибок, поток данных просто иногда остается.

EM0 · 11 лет назад · 0

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

Bas · 9 лет назад · 1
pk. ответил 14 лет назад
P 410
64

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

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

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

каталоги streams -s -d

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

Может быть опасно. Windows также использует потоки для других целей.

harrymc · 16 лет назад · 9

Очень редко - потоки данных почти не используются, поскольку это недокументированная функция. Будет безопасно, если, как сказал schnapple, он просто хочет разблокировать файлы в определенном каталоге, которые, как известно, являются документами, полученными через Интернет. Ни в коем случае я не рекомендую ему делать _streams -s -d C: \ _ :)

caliban · 16 лет назад · 6

только что проверил (поскольку Streams - недокументированная функция, которую трудно проверить) с некоторыми людьми, и они считают, что, как только документ передается через Интернет или проходит через что-либо, кроме NTFS, он теряет все данные потока. В результате, когда вы впервые загружаете что-то из Интернета, единственный поток данных, который у вас будет, - это поток данных «Небезопасный файл».

caliban · 16 лет назад · 6

Почему вы думаете, что они не задокументированы? (Http://msdn.microsoft.com/en-us/library/aa364404(VS.85).aspx)

Reuben · 16 лет назад · 22

Хотя это будет работать, просто скажу, что документы Office 2007 используют потоки, а свойства файлов хранятся в виде потоков. Я предлагаю использовать «streams -d» осторожно.

harrymc · 16 лет назад · 2

Не удаляйте вслепую все альтернативные потоки данных, если у вас нет резервных копий этих зашифрованных файлов NTFS.

Ian Boyd · 16 лет назад · 6

В любом случае, этот метод не работал для меня - он просто сказал, что не может найти файлы с потоками (хотя у меня была возможность «разблокировать» несколько файлов на их экране «Свойства», и AlternateStreamView видел потоки).

Pat · 15 лет назад · 0

Работал брелок для меня.

Paul Suart · 14 лет назад · 1

@caliban: Это не совсем верно. WinRAR предлагает возможность сохранять файловые потоки при архивировании, и это сохраняет потоки данных для архивных файлов. Вы теряете их только при извлечении файлов .RAR в файловую систему, которая не поддерживает файловые потоки.

Alex Essilfie · 14 лет назад · 1

Это не NTFS, которая присоединяет исходную зону. Это браузер или проводник при загрузке / копировании файла. Файловая система не может заботиться меньше.

Joey · 13 лет назад · 2

мой говорит: «Не найдено файлов с потоками». и проблема сохраняется

· 13 лет назад · 0

@AlexEssilfie + harrymc + Ian Boyd - Предполагая, что вы не находитесь в ситуации Томаса Эйда, изложенной в его комментарии в другом ответе / questions / 38476 / # comment192087_38489) и что вы запускаете любой метод удаления потоков только для файлов, загруженных из Интернета через IE (что, я думаю, caliban должен прояснить в этом ответе) ... не в результате распаковки этого / эти непосредственные файлы не могут видеть, как вы не просто удалите потоки ": Zone.Identifier: $ DATA", установленные IE, что является требованием этого вопроса.

user66001 · 12 лет назад · 0

Если вы сделаете это программно, добавьте раздел реестра, который принимает eula, пользователю не будет предложено: [HKEY_CURRENT_USER \ Software \ Sysinternals \ Streams] "EulaAccepted" = dword: 00000001

Quandary · 11 лет назад · 0

У меня в папке Windows 8.1 OneDrive было несколько файлов, и я скептически отнесся к такому подходу. Запуск streams.exe показывает множество других альтернативных потоков данных для таких файлов. Ответ Powershell, представленный ниже, является идеальным, поскольку он оставляет другие альтернативные потоки данных, такие как те, которые требуются клиенту синхронизации OneDrive, в одиночку.

Ian Yates · 11 лет назад · 0
caliban ответил 16 лет назад
C 18 367
31

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

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

enter image description here

Для этой цели есть еще один инструмент - ZoneIDTrimmer

itsho · 12 лет назад · 1

@ZoneIDTrimmer - Не уверен, что понимаю. Какой другой инструмент?

user66001 · 12 лет назад · 0

ZoneIDTrimmer - это имя инструмента, а не псевдоним человека.

Snark · 12 лет назад · 5
Snark ответил 16 лет назад
S 28 828
11

Очень простой обходной путь для такого рода - первый ответ, скажем, если у вас есть около 1000 заблокированных файлов, просто возьмите все файлы и поместите их в новую папку на рабочем столе (или в любую папку, в которой вы работаете) щелкните правой кнопкой мыши на указанной папке, затем выберите «Отправить», а затем выберите «Сжатая (заархивированная) папка», затем удалите исходные файлы и извлеките папку .ZIP и Viola !!!. Все ваши файлы разблокированы: D, сработало для меня на XP Pro SP3, так что вроде бы это будет работать и на Vista

Безусловно, наименьшее количество работы. Ницца!

RomanSt · 10 лет назад · 0
Kristian ответил 15 лет назад
K 61
9

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

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

Измените SaveZoneInformation на 1.

НОТА:

  • 0 = не настроен
  • 1 = включено
  • 2 = отключено

У меня нет такой опции в Windows 7, а в статье упоминается только XP. Все-таки выглядит интересно.

AndrejaKo · 15 лет назад · 2

Можете ли вы добавить ключ для включения / выключения? Тот факт, что у вас нет ключа политики пользователя, означает, что он не был настроен таким образом; Вы все еще можете использовать его.

JohnZaj · 15 лет назад · 0

@ user61000 - Правильно ли я подозреваю, что это только меняет поведение IE, а не (как я выяснил, теперь сделано с последней версией) браузеров Firefox (или других)?

user66001 · 12 лет назад · 0

Требуются права администратора :(

Quandary · 11 лет назад · 0

Просто установите это с помощью соответствующей групповой политики (которую я затем подтвердил, установив этот раздел реестра). Спасибо :)

Ian Yates · 11 лет назад · 0

Это работает и в Windows 7 и 8 (и, вероятно, 10). Обновленная ссылка: https://support.microsoft.com/en-us/kb/883260. Это также влияет на Chrome, и я думаю, Firefox.

thaimin · 11 лет назад · 1
user61000 ответил 15 лет назад
U 31
8

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

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

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

GAThrawn ответил 16 лет назад
G 4 058
7
  • Загрузите утилиту Sysinternals Streams .
  • Разархивируйте и скопируйте streams.exe в \ Windows \ System32.
  • Создайте новый текстовый файл и переименуйте его в нечто вроде "unblocker.reg".
  • Скопируйте приведенный ниже скрипт реестра:

    Windows Registry Editor Version 5.00  [HKEY_CLASSES_ROOT\*\shell\unblockfile] @="Unblock file"  [HKEY_CLASSES_ROOT\*\shell\unblockfile\command] @="cmd /c streams -d \"%1\""  [HKEY_CLASSES_ROOT\Directory\shell\unblockallthefiles] @="Unblock the files inside"  [HKEY_CLASSES_ROOT\Directory\shell\unblockallthefiles\command] @="cmd /c streams.exe -d -s \"%1\"" 
  • Сохраните файл.

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

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

источник

+1 Отличная идея сделать этот процесс менее трудоемким.

user66001 · 12 лет назад · 0

Это сработало для меня после того, как я добавил путь к streams.exe в формате 8.3: @ =" cmd / c C: \ PROGRA ~ 2 \ Sysinternals \ streams.exe -d -s \ "% 1 \" "

Olivier Jacot-Descombes · 11 лет назад · 0

Я знаю, что это старая тема, но спасибо. В Интернете существует несколько версий одного и того же сценария reg, и большинство из них не работают. Я могу добавить, что это работало для меня на Windows 7 Professional 64bit.

trenten · 10 лет назад · 0
creapure90 ответил 13 лет назад
C 41
5

AlternateStreamView отлично. Другой способ - архивировать файлы в .RAR, 7z или .ZIP. Удалите оригиналы, а затем повторно извлеките файлы.

Indrek ответил 16 лет назад
I 20 363
2

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

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

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

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

leoinfo ответил 14 лет назад
L 71
Загрузка ответов…