
Tengo algunos programas que crean archivos temporales o archivos de respaldo o archivos similares que no son importantes. Por ejemplo,GVimpara Windows crea de forma predeterminada un archivo de copia de seguridad en formato filename.txt~
.
A veces necesito limpiar un directorio y eliminar todos estos archivos. He creado un archivo .bat simple para esto. Sin embargo, es engorroso tener que iniciar CMD, navegar a la carpeta y ejecutar el script. Sobre todo porque se trata de un script que me gustaría ejecutar con frecuencia en varias carpetas. Y no quiero copiar el script en varias carpetas, ya que sería una pesadilla de mantenimiento.
Entonces, estaba pensando que la mejor solución sería agregar un elemento de menú contextual que me permita ejecutar el script. Para poder hacer clic derecho en una carpeta en el Explorador y hacer clic en Limpiar y luego ejecutar mi script en esta carpeta.
Entonces mi pregunta es: ¿Cómo agrego una acción del menú contextual que ejecuta un script por lotes personalizado?
Respuesta1
Lo probé en Windows XP SP3 con esta clave .reg. No tengo Windows 7 por el momento para probarlo correctamente pero debería ser casi igual.
- Abra el bloc de notas y pegue el código que aparece a continuación.
- Edite según sus necesidades.
- Guardar como MyScript1.reg
- Haga doble clic para importar en el registro.
- Pruebe haciendo clic derecho en cualquier directorio en Explorer
Editor del Registro de Windows Versión 5.00 [HKEY_CLASSES_ROOT\Directorio\shell\MyScript1] @="Ejecutar MyScript1" [HKEY_CLASSES_ROOT\Directorio\shell\MyScript1\command] @="\"C:\\MyScriptsDirectory\\MyScript1Directory\\MyScript1.bat\" \"%1\""
Respuesta2
De hecho,la respuesta actualno está desactualizado. Intenté exactamente lo mismo en Windows 10 y pude agregar Run Batch script
al menú contextual de todas las carpetas de Windows.
Este es el contenido de mi script por lotes (no funcionará concaminos UNC):
@ECO APAGADO Se llamó a ECHO %~n0 con los siguientes argumentos: ESTABLECER argumentos=%* SI NO ESTÁ DEFINIDO args IR AL FINAL ECO %* :FIN PAUSA
Los cambios de registro que hice se pueden replicar con este archivo REG:
Editor del Registro de Windows Versión 5.00 [HKEY_CLASSES_ROOT\Directorio\shell\Ejecutar secuencia de comandos por lotes] @="&Ejecutar secuencia de comandos por lotes" [HKEY_CLASSES_ROOT\Directorio\shell\Ejecutar script por lotes\comando] @="\"H:\\BATCH_FILE_PATH\\context-batch.bat\" \"%1\""
Esto solo agrega un elemento de menú contextual para todos los directorios/carpetas en Windows. Si desea que se muestre para todos y cada uno de los archivos, puede usar esto:
Editor del Registro de Windows Versión 5.00 [HKEY_CLASSES_ROOT\*\shell\Ejecutar script] @="Ejecutar &script" [HKEY_CLASSES_ROOT\*\shell\Ejecutar script\comando] @="\"H:\\BATCH_FILE_PATH\\context-batch.bat\" \"%1\""
Alternativamente, puede agregar su secuencia de comandos por lotes a la Send To
lista de elementos creando un acceso directo a su secuencia de comandos por lotes y colocándolo debajo %APPDATA%\Microsoft\Windows\SendTo
(o ingresando shell:sendto
en la barra de direcciones)
Si desea que su secuencia de comandos se muestre en el menú contextual que aparece cuando hace clic derecho en el espacio vacío dentro de un directorio (¿fondo del directorio?), puede usar el siguiente archivo REG:
Editor del Registro de Windows Versión 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\Ejecutar secuencia de comandos por lotes] @="&Ejecutar secuencia de comandos por lotes" "Icono"="%SystemRoot%\\System32\\shell32.dll,71" [HKEY_CLASSES_ROOT\Directory\Background\shell\Ejecutar script por lotes\comando] @="H:\\BATCH_FILE_PATH\\context-batch.bat \"%V\""
No necesitas la "Icon"="%SystemRoot%\\System32\\shell32.dll,71"
línea. Simplemente agrega un ícono a su menú contextual que se ve así:
Respuesta3
yo recomendariaEditor de programas predeterminadopara esta tarea. Es más fácil de usar y posiblemente más seguro que editar el registro directamente.
Seleccione la extensión que desea cambiar.
Asigne un título a su comando, busque el archivo por lotes y, opcionalmente, elija un icono para representar su comando.
Guarde el menú contextual en el registro y listo.
Respuesta4
La solución alternativa que uso en Windows 10 es agregar un script a una de las carpetas en la variable de ruta y luego, cuando esté en la secuencia de uso del explorador:
Ctrl + L - para empezar a escribir en la barra de búsqueda.
escriba: cmd, luego presione Enter - para iniciar cmd en el directorio actual
ejecute su script, escribiendo su nombre de archivo