"This file came from another computer..." - how can I unblock all the files in a folder without having to unblock them individually?
Windows XP SP2 and Windows Vista have this deal where zone information is preserved in downloaded files to NTFS partitions, such that it blocks certain files in certain applications until you "unblock" the files.
So for example if you download a zip file of source code to try something out, every file will display this in the security settings of the file properties
"This file came from another computer and might be blocked to help protect this computer"
Along with an "Unblock" button. Some programs don't care, but Visual Studio will refuse to load projects in solutions until they've been unblocked.
While it's not terribly difficult to go to every project file and unblock it individually, it's a pain. And it does not appear you can unblock multiple selected files simultaneously.
Is there any way to unblock all files in a directory without having to go to them all individually?
I know you can turn this off globally for all new files but let's say I don't want to do that
If you download a .ZIP
and unzip it, the individual files will be marked as the same zone as the .ZIP
. Almost every time I have a folder full of "blocked" files, this is how I got them.
Before unzipping, click the Unblock button on the .ZIP
.
PowerShell, available here, has an Unblock-File
cmdlet that will do this task for you. To unblock all of the files in a directory, you'd issue the following command.
dir c:\mydir -Recurse | Unblock-File
Unblock-File doc
It's quite simple, NTFS attached a data stream (that IDs "unsafe files") to the file when it is just downloaded from the Internet.
Do recursively remove this stream for all files, follow these steps :
- Download the Streams CLI executable from Microsoft
- Put the streams.exe executable in your Windows directory (or anywhere that the system can find it)
- Run this line in the command line :
streams -s -d directory
It will then remove all of the data streams from all files recursively in the directory - you have now successfully unblocked all files.
AlternateStreamView can list all alternate NTFS streams for files in a directory (and sub-directories if desired).
Delete all streams marked ":Zone.Identifier:$DATA" for the selected files to get rid of the security blocks.
A very easy workaround for this kinda ties into the first answer, say if you have around 1000 files that are all blocked just take all the files, and put them in a new folder on your desktop (or whatever folder directory you're working in them right click said folder and then click Send To and then out of the options Click Compressed (zipped) Folder, then after that delete your original files and extract the .ZIP folder and Viola!!! all your files are unblocked :D, worked for me on XP Pro SP3, so kinda assuming it will work on vista as well