是否有 Windows 资源管理器的 shell 扩展可以添加新的上下文菜单项,从而允许解锁下载的文件?它应该完全按照我打开文件属性并单击解除封锁按钮。
理想情况下,这样的 shell 扩展还应该显示一个覆盖图标来表明该文件仍然被阻止。
答案1
Sysinternals 有一款工具叫流。
这一页描述如何使用它。它不会向上下文菜单添加选项,但允许您一次解锁多个文件。
我还发现这个帖子它提供了一个可以解决问题的注册表文件:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\runas]
@="Take Ownership"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="Take Ownership"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
这可能更接近你想要的。将其复制到记事本中,另存为某物.reg,然后双击将其添加到注册表中。
答案2
下载NTFSext 安装程序微软文章。
这是一个压缩的可执行文件。执行它以提取文件,然后从 StrmExt.zip 中提取名为 StrmExt.dll 的 dll。将 dll 复制到 C:\Windows\System32 并执行以下命令:
regsvr32 C:\Windows\System32\StrmExt.dll
现在,Windows 资源管理器的文件属性中有一个新选项卡,可以显示文件流并允许删除它们:
只是一点小提示:程序中有一个错误,即在删除对话框中回答“否”仍会删除流。另一个错误是流的内容显示不正常。如果您喜欢冒险,并且包含源代码,您可以更正该错误(并重新发布 dll)。
答案3
你需要流从系统内部(上文提到@ChrisF)我把我的放在目录:\Windows文件夹,因此如果您想将它放在其他地方,则需要相应地更改下面的注册表片段。
在你最喜欢的类似记事本的编辑器,创建一个文件并将其命名为(类似于)Unblock.reg。它应该包含:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\Unblock File]
"Icon"="C:\\Windows\\System32\\Shell32.dll,109"
[HKEY_CLASSES_ROOT\*\shell\Unblock File\Command]
@="\"C:\\windows\\streams.exe\" -d \"%1\""
获得该文件后,双击 .reg 文件,当系统询问您是否要继续时,单击“是”。
就是这样。
注意:我已经测试过并且正在 Windows 7 上使用它。YMMV。
答案4
您是否要配置“数据执行保护”的设置?我从未听说过可以直接从上下文菜单配置此功能的工具,但也许搜索 DEP 会对您有所帮助。