如何在 Windows 10 上使用有效的「重新啟動時刪除」右鍵單擊上下文功能表選項?

如何在 Windows 10 上使用有效的「重新啟動時刪除」右鍵單擊上下文功能表選項?

我一直在尋找最方便的方法來告訴 Windows 10 在重新啟動時刪除某些檔案。右鍵單擊上下文選單選項似乎是最有效的解決方案。我偶然發現了以下註冊表​​項,它們為我提供了這樣的選項,但在 Windows 10 x64 上,它實際上並沒有刪除我應用它的檔案。

[HKEY_CLASSES_ROOT\*\shell\Delete on reboot\command]
@="CMD /E:OFF /C REG ADD HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\Currentversion\\RunOnce /v \"Del %1 OnNextReboot\" /d ^\"cmd.exe /c DEL /F /Q \\\"%1\\\"\" /f\""

[HKEY_CLASSES_ROOT\*\shell\Open]

[HKEY_CLASSES_ROOT\Folder\shell\Delete on reboot\command]
@="CMD /E:OFF /C REG ADD HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\Currentversion\\RunOnce /v \"Del %1 OnNextReboot\" /d ^\"cmd.exe /c RD /S /Q \\\"%1\\\"\" /f\""

顯然這個註冊表代碼已經在互聯網上流傳很長時間了,我能找到的關於它的最新信息是有人說它在 Windows 7 上適用。

謝謝。

答案1

下載系統內部移動文件程式並將其放入C:\Windows資料夾中。

右鍵單擊 Movefile.exe,然後按一下屬性。選擇相容性選項卡,按一下「變更所有使用者的設定」啟用「以管理員身分執行此程式」按一下確定,確定。

然後建立一個 .REG 文件,如下所示。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\deleteonreboot]
@="Delete File on Reboot"

[HKEY_CLASSES_ROOT\*\shell\deleteonreboot\command]
@="\"C:\\Windows\\movefile.exe\" \"%1\" \"\""

雙擊 REG 檔案以套用設定。

這會在右鍵選單中新增“重新啟動時刪除”選項。

答案2

我的解決方案是透過 w32sh 的幫助實現的。我在這個答案中分享的解決方案是先按照他的指示進行操作。

最後,我最終在這裡做的是組合一個獲得文件所有權的命令並在其上使用 movefile.exe。

我創建了一個批次檔(我稱之為“movefile_custom.bat”),其中包含以下內容:

takeown /f %1 /r /d y && icacls %1 /grant administrators:F /t
takeown /f %1 && icacls %1 /grant administrators:F
"C:\Windows\movefile.exe" %1 ""

(注意:右鍵單擊條目僅適用於文件,因此處理目錄的第一行可能是不必要的,但無論如何我現在將其保留。它不會造成任何損害)

然後我下載了BAT 到 EXE 轉換器並用它(你猜對了)將我的“movefile_custom.bat”轉換為“movefile_custom.exe”。此轉換器具有 EXE 的管理員選項。

我編輯了註冊表項以指向新的“movefile_custom.exe”文件,而不是基本的“movefile.exe”。

現在效果很好。

答案3

本頁介紹如何使用群組原則在關機/重新啟動或登出時執行自訂腳本:https://technet.microsoft.com/en-us/library/cc753404(v=ws.11).aspx

我過去曾在以前版本的 Windows 上使用過它,雖然頁面上說僅適用於 Win 7/2012,但我知道類似的策略也適用於 10。

您也可以將第三方服務配置為在關機/重新啟動時執行腳本 - 例如 SRVSTART (http://www.rozanski.org.uk/services),儘管在這種情況下它不是很簡單,也不是它的主要目的。

相關內容