Utility to recursively “Unblock” files downloaded from Internet

Posted by Sameer Dhoot under Windows

I recently downloaded almost all utilities from SysInternals they offer a single package called Suite and you can download it from here Download Sysinternals Suite

Now when you run these programs you get this nagging popup every time you run files which are downloaded from internet.

image thumb Utility to recursively “Unblock” files downloaded from Internet

The issue is when you download a file like this, IE tags it with an additional "NTFS Stream" of information -- specifically with a Zone.Identifier record that tells Vista/XP that the file came from the Internet.

Now lets look at the properties of this file this is where you can remove these settings

image thumb1 Utility to recursively “Unblock” files downloaded from Internet

At bottom you see a message: "This file came from another computer and might be blocked to help protect this computer." and there's an Unblock button you can push that is supposed to remove the Zone.Identifier and then when you this file again the popup is gone. That’s good but now what if we want to do it for suppose 100 file there are about 97 odd in the Sysinternals Suite alone well I like these Sysinternals guys as they have made so many of useful utilities which I often use in and out and in my opinion they know windows better than those MS Support Guys… and Microsoft made a wise decision to buy them out.

To the point, Sysinternals Suite has an answer to our problem they have a utility called “Streams.exe” which is console application.

Then run the command line: streams -d filename

If you have a whole folder of files recursively you want to unblock, you can run the same command with the folder name and the -s switch to do all the files in that folder and subs.

Note: You have to be running the command prompt as administrator or you'll get an Access is Denied error message.

Streams v1.53 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2005 Mark Russinovich
Sysinternals -

usage: streams.exe [-s] [-d] <file or directory>
-s     Recurse subdirectories
-d     Delete streams


Following are result of command I run for unblocking all these files (Accept the EULA if you are running this for first time)

C:\>c:\SysInternalsSuite\streams.exe -s c:\SysInternalsSuite

Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals -

   :Zone.Identifier:$DATA       26
   :Zone.Identifier:$DATA       26
   :Zone.Identifier:$DATA       26
   :Zone.Identifier:$DATA       26
   :Zone.Identifier:$DATA       26
   :Zone.Identifier:$DATA       26

Comments (5) Trackbacks (1)
  1. thank you very much

  2. Thank you very much and it works superbly…

  3. Great info here! It saved me a lot of work in building a software project I downloaded.

    One comment about the last example: It says that the command, c:\SysInternalsSuite\streams.exe -s c:\SysInternalsSuite, is used to unblock files. However, that command just displays the listing of those files you see with their Zone:Identifiers. To actually unblock those files you need to include the -d option in the above command to delete the streams, and you will see different output saying that the streams have been deleted.

  4. You rock! Thanks for the awesome tip!

Leave a comment