我使用 Angular,它會產生巨大的專案資料夾,使用常規的資料夾刪除方法需要很長時間才能刪除,但如果在命令列中使用以下命令刪除它,則該資料夾會在幾秒鐘內消失:rmdir /s /q <folder path>
於是,我在網路上搜尋了解決方案,找到了幾個告訴我修改註冊表的解決方案。我這樣做了,但是當我右鍵單擊資料夾並選擇使用自訂選單選項(“資料夾快速刪除”)刪除它時,它不會刪除它。另外,如果我右鍵單擊包含文件和子資料夾的資料夾中的空白區域並選擇“資料夾快速刪除”,它將刪除所有子資料夾和不在子資料夾中(即當前根資料夾中)的一些文件。奇怪的是,如果右鍵單擊桌面空白處並選擇“資料夾快速刪除”,它不僅會刪除桌面上的所有資料夾,還會刪除一些捷徑。
我的 .reg 檔案有什麼問題?
reg 檔案新增上下文選單項
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\Delete_Folder]
@="Folder quick delete"
"Extended"=-
[HKEY_CLASSES_ROOT\Directory\shell\Delete_Folder\command]
@="C:\\windows\\system32\\cmd.exe /c rmdir /s /q %V"
[HKEY_CLASSES_ROOT\Directory\Background\shell\Delete_Folder]
@="Folder quick delete"
"Extended"=-
[HKEY_CLASSES_ROOT\Directory\Background\shell\Delete_Folder\command]
@="C:\\windows\\system32\\cmd.exe /c rmdir /s /q %V"
[HKEY_CLASSES_ROOT\Drive\shell\Delete_Folder]
@="Folder quick delete"
"Extended"=-
[HKEY_CLASSES_ROOT\Drive\shell\Delete_Folder\command]
@="C:\\windows\\system32\\cmd.exe /c rmdir /s /q %V"
[HKEY_CLASSES_ROOT\LibraryFolder\background\shell\Delete_Folder]
@="Folder quick delete"
"Extended"=-
[HKEY_CLASSES_ROOT\LibraryFolder\background\shell\Delete_Folder\command]
@="C:\\windows\\system32\\cmd.exe /c rmdir /s /q %V"
答案1
首先,您需要在檔案名稱中包含空格的資料夾的目錄參數路徑周圍新增引號。要添加它們,請轉義引號字符,如下面的 shell 命令所示佩斯圖迪奧:
[HKEY_CLASSES_ROOT*\shell\pestudio\command]
@="\"C:\program files\pestudio\pestudio.exe\" \"%1\""
其次,參數的標準佔位符是%1
,需要至少一個參數。這佔位符 %v 用於提供預設參數,工作目錄,當沒有提供時 - 有點危險。這也許可以解釋檔案和資料夾的意外刪除。最好使用 %1,以便上下文功能表應用於您按一下的資料夾。
注意對註冊表中的反斜線要格外小心——太多或太少都會損壞註冊表(從悲慘的經歷中學到的)。
答案2
我找到了解決方案。對我有用的是以下內容:
@="PowerShell -Command \"Remove-Item -LiteralPath '%1' -Force -Recurse\""