web-dev-qa-db-ja.com

「このファイルは別のコンピュータからのものです...」 - フォルダ内のすべてのファイルを個別にブロック解除せずにブロック解除するにはどうすればよいですか。

Windows XP SP2およびWindows Vistaでは、ダウンロードしたファイルのNTFSパーティションにゾーン情報が保存されるため、ファイルの "ブロックを解除"するまで特定のアプリケーションの特定のファイルがブロックされることがあります。

だから例えばあなたが何かを試すためにソースコードのZipファイルをダウンロードするならば、すべてのファイルはファイルプロパティのセキュリティ設定でこれを表示するでしょう

「このファイルは別のコンピュータから送信されたもので、このコンピュータを保護するためにブロックされている可能性があります」

「ブロック解除」ボタンと一緒に。気にしないプログラムもありますが、ブロックが解除されるまで、Visual Studioはプロジェクトをソリューションにロードすることを拒否します。

すべてのプロジェクトファイルに移動して個別にブロック解除するのはそれほど難しくありませんが、それは面倒です。また、選択した複数のファイルを同時にブロック解除できるようには見えません。

ディレクトリ内のすべてのファイルを個別に移動しなくてもブロックを解除する方法はありますか?

すべての新しいファイルに対してこれをグローバルに無効にできることは知っていますが、したくないとしましょう

185
Tom Kidd

.Zipをダウンロードして解凍すると、個々のファイルは.Zipと同じゾーンとしてマークされます。私が "ブロックされた"ファイルでいっぱいのフォルダーを持っている時はいつも、これが私がそれらを手に入れた方法です。

解凍する前に、.ZipのUnblockボタンをクリックしてください。

180
Jay Bazuzi

PowerShellには こちら があり、このタスクを実行するUnblock-Fileコマンドレットがあります。ディレクトリ内のすべてのファイルのブロックを解除するには、次のコマンドを発行します。

dir c:\mydir -Recurse | Unblock-File

ドキュメントのブロック解除ドキュメント

90
pk.

それは非常に簡単です、それがちょうどインターネットからダウンロードされるときにNTFSはファイルにデータストリーム(そのID「安全でないファイル」)を付けました。

すべてのファイルに対してこのストリームを再帰的に削除します。次の手順に従います。

  1. Microsoftから Streams CLI実行可能ファイル をダウンロードします。
  2. Streams.exe実行可能ファイルをWindowsディレクトリ(またはシステムが見つけることができる場所)に置きます。
  3. コマンドラインでこの行を実行します。

ストリーム-s -dディレクトリ

その後、ディレクトリ内のすべてのファイルからすべてのデータストリームを再帰的に削除します。これで、すべてのファイルのブロックが解除されました。

64
caliban

AlternateStreamView は、ディレクトリ内のファイル(および必要に応じてサブディレクトリ)の代替NTFSストリームをすべて一覧表示できます。 。

セキュリティブロックを削除するには、選択したファイルについて「:Zone.Identifier:$ DATA」とマークされているすべてのストリームを削除します。

enter image description here

31
Snark

この種の非常に簡単な回避策は最初の答えです。たとえば、1000個のファイルがすべてブロックされていて、それらをすべてデスクトップの新しいフォルダ(または作業中のフォルダディレクトリ)に配置するとします。それらのフォルダを右クリックし、[送信]をクリックして、オプションから[圧縮(zip形式)フォルダ]をクリックします。その後、元のファイルを削除し、.ZipフォルダとViolaを展開します。私はXP Pro SP3を使っています。Vistaでも同様に動作すると思います

11
Kristian

ファイルのダウンロード時にブロックを無効にするには、次のレジストリキーを開きます。

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

SaveZoneInformationを1に変更します。

注:

  • 0 =未設定
  • 1 =有効
  • 2 =無効
9
user61000

別のポスターによると、安全でないファイルのフラグはNTFSデータストリームに格納されています。これが意味するのは、このデータストリームを削除する非常に簡単な方法があるということです。NTFSデータストリームをサポートしていないドライブにファイルを移動するだけです。

問題がファイルのサイズではなくファイルの数に関連していると仮定した場合、最も簡単な方法は、ファイルをFATに移動する(コピーしない)ことです。フォーマットしたドライブをNTFSドライブに戻し(ほとんどすべてのUSBメモリはFAT32でフォーマットされているため、うまく動作します)、それらのファイルを目的の場所に戻します。

私はダウンロードしたファイルのディレクトリ全体からブロックされたフラグを取り除きたいと思ったときに以前にこれをしました、そしてそれはまさに私が必要としたことをしました。

8
GAThrawn
  • 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\""
    
  • ファイルを保存してください。

  • 保存したファイルをダブルクリックしてレジストリにマージします。

その後、ファイルを右クリックするたびに、コンテキストメニューで[ファイルのブロック解除]を選択するか、フォルダを右クリックして[ここのファイルのブロック解除]を選択できます。

ソース

7
creapure90

AlternateStreamViewは素晴らしいです。しかし別の方法は、ファイルを.RAR、7z、または.Zipにアーカイブすることです。オリジナルを削除してから、ファイルを再抽出してください。

5
Alec

同じ問題があり、ファイルのブロックを解除した方法は次のとおりです。

  • ブロックされたすべてのファイルをRARアーカイブに追加しました(私はWinRARを使用しました)
  • 元のファイルを削除しました
  • アーカイブからすべてのファイルを抽出しました

すべてのファイルがブロック解除されました。

私にとっては、.chm形式のMSDNマガジンの問題でしたが、ファイルの種類が問題になるとは思われません。

2
leoinfo

ZoneIDTrimmer は、これに利用できる最もユーザーフレンドリーなツールのように見えます。

enter image description here

1
RomanSt

私は(powershellを使用せずに)バッチ方式を探していましたが、この記事を読んだ後、この簡単な解決策を思いついたのです。

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

これはZone.Identifierデータストリームを削除するのではなく、うまく動作しているように見えるコンテンツをクリアします。

もう1つの解決策(すべてのデータストリームを消去して一時ファイルを使用する方法はこれです)

type filename.Zip > filename.Zip.tmp
move /y filename.Zip.tmp filename.Zip
1

私はブロックを削除するのに最適なUSB外付けハードドライブを持っている...私は小さなパーティションを作成し、それをFAT32でフォーマットしました。 :-)

0
user200075