
Trabajo con Angular y genera carpetas de proyecto que son enormes y tardan una eternidad en eliminarse con el método habitual de eliminación de carpetas, pero si las elimino con el siguiente comando en la línea de comando, la carpeta desaparecerá en unos segundos:rmdir /s /q <folder path>
Entonces, busqué una solución en Internet y encontré varias que me dicen que modifique el registro. Lo hice, pero cuando hago clic derecho en una carpeta y elijo eliminarla con la opción de menú personalizado ("Eliminación rápida de carpeta"), no la elimina. Además, si hago clic derecho en un espacio en blanco en una carpeta que tiene archivos y carpetas secundarias y selecciono "Eliminación rápida de carpetas", se eliminan todas las carpetas secundarias y algunos archivos que no están en las carpetas secundarias (es decir, en la carpeta raíz actual). Curiosamente, si simplemente hace clic derecho en un espacio vacío en el escritorio y elige "Eliminación rápida de carpetas", no solo elimina todas las carpetas del escritorio sino también algunos de los accesos directos que las acompañan.
¿Qué le pasa a mi archivo .reg?
archivo reg para agregar elementos del menú contextual
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"
Respuesta1
Primero, debe tener comillas alrededor de la ruta del argumento del directorio para una carpeta con espacios en el nombre del archivo. Para agregarlos, escape las comillas como se muestra a continuación en el comando de shell parapestudio:
[HKEY_CLASSES_ROOT*\shell\pestudio\command]
@="\"C:\archivos de programa\pestudio\pestudio.exe\" \"%1\""
En segundo lugar, elmarcador de posición estándar para el argumentoes %1
, requiriendo al menos un argumento. ElEl marcador de posición %v se utiliza para proporcionar un argumento predeterminado., el directorio de trabajo, cuando no se proporciona ninguno, algo peligroso. Eso podría explicar la eliminación involuntaria de archivos y carpetas. Sería mejor usar %1 para que el menú contextual se aplique a la carpeta en la que hace clic.
NÓTESE BIENTenga mucho cuidado con las barras invertidas en el Registro: demasiadas o muy pocas pueden dañar el Registro (aprendido de una triste experiencia).
Respuesta2
Encontré la solución. Lo que funcionó para mí es lo siguiente:
@="PowerShell -Command \"Remove-Item -LiteralPath '%1' -Force -Recurse\""