【目錄】
一、提要
二、困境
三、思索
四、結論與解法
五、後記
【一、提要】
但上述解法缺點為:每次解鎖皆須複製一份streams.exe和bat檔,若複製後欲保留下次使用,不刪除又造成電腦中一大堆streams.exe和bat檔!
若作業系統為Windows 10,則可利用「PowerShell」和滑鼠右鍵選單,以快速解鎖:
不須到處複製streams.exe和bat檔,簡單又迅捷!
於是我想,Windows 7辦不辦得到呢!?若Windows 7能以同樣方法解鎖,豈不善哉!!!!
【二、困境】
我節錄他撰寫的reg檔,解釋其作法:
[HKEY_CLASSES_ROOT\*\shell\unblock] → 新增右鍵選項
"MUIVerb"="Unblock" → 命名選項為「Unblock」
"Extended"=- → 右端「-」號為不須按「Shift」鍵即顯示此選項
若改為「"Extended"=""」則須按「Shift」鍵才顯示此選項
[HKEY_CLASSES_ROOT\*\shell\unblock\command]
@="powershell.exe Unblock-File -LiteralPath '%L'" → 此行為關鍵,即呼叫「powershell.exe」解鎖檔案
「Unblock-File」即解鎖檔案指令,後方「-LiteralPath '%L'」為檔案路徑
--------------------------------------------------
我嘗試在Windows 7新增他寫的reg檔,卻發現無法使用,按「Unblock」後毫無反應,檔案也沒解鎖。
我猜測由於Windows 7的PowerShell版本為3.0,而Windows 10的PowerShell為5.1版,於是更新Windows 7的PowerShell至5.1版,但仍無法順利解鎖。
【三、思索】
諸如小畫家(mspaint.exe)、記事本(notepad.exe)、小算盤(calc.exe)等,為何在命令提示字元cmd中,不須輸入完整路徑即可執行?
若搜尋之,可發現它們位於「C:\Windows\System32」和「C:\Windows\SysWOW64」兩處。
【四、結論與解法】
意即:複製「streams.exe」至「C:\Windows\System32」和「C:\Windows\SysWOW64」兩處,即可不須輸入完整路徑而執行之!
解法:
- 下載「Streams」並解壓縮。
streams.exe:32位元版
streams64.exe:64位元版
streams64a.exe:應為AMD處理器版,Intel處理器無法執行
- 以Intel處理器Windows 7 64-bit為例,複製兩份streams64.exe,並置於以下二資料夾內:
C:\Windows\System32
C:\Windows\SysWOW64
複製完畢即可令命令提示字元cmd不須輸入完整路徑即可執行streams:
--------------------------------------------------
然後,以reg檔新增「解除封鎖」選項至滑鼠右鍵選單,即可令Windows 7也能快速解鎖!
以下是「不須按住Shift鍵」的版本:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\unblock]
"MUIVerb"="解除封鎖此檔案"
"Extended"=-
[HKEY_CLASSES_ROOT\*\shell\unblock\command]
@="streams64 -d \"%1\""
[HKEY_CLASSES_ROOT\Directory\shell\unblock]
"MUIVerb"="解除封鎖此資料夾與子資料夾之全部檔案"
"Extended"=-
[HKEY_CLASSES_ROOT\Directory\shell\unblock\command]
@="streams64 -d -s \"%1\""
--------------------------------------------------
以下是「須按住Shift鍵」的版本:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\unblock]
"MUIVerb"="解除封鎖此檔案"
"Extended"=""
[HKEY_CLASSES_ROOT\*\shell\unblock\command]
@="streams64 -d \"%1\""
[HKEY_CLASSES_ROOT\Directory\shell\unblock]
"MUIVerb"="解除封鎖此資料夾與子資料夾之全部檔案"
"Extended"=""
[HKEY_CLASSES_ROOT\Directory\shell\unblock\command]
@="streams64 -d -s \"%1\""
--------------------------------------------------
複製上述藍或紅字,貼上至txt文字檔,改副檔名為reg,執行並新增,即可令Windows 7也能快速解鎖!
【五、後記】
上述方法有兩缺點。
- 無法「僅解鎖單一資料夾內之檔案」,必包含指定資料夾與子資料夾內之全數檔案,因為streams只有「單一檔案」和「資料夾與子資料夾」兩選項。
Windows 10聯合PowerShell則可「僅解鎖單一資料夾內之檔案」。
- 若解鎖reg檔,會跳出「確認是否執行」對話框,須按確定才可解鎖。
若對「網際網路捷徑url檔」按滑鼠右鍵,則無「解鎖」選項,但這點連Windows 10聯合PowerShell也一樣。
解法是:先放置url檔在某一資料夾內,再對該資料夾選解除封鎖。
我在Windows 7曾以各種方法修改此命令
@="powershell.exe Unblock-File -LiteralPath '%L'"
但仍無法順利解鎖。
若有高手知悉,望祈不吝賜教!