Título: Archivo bat para borrar una entrada de registro con comodines Publicado por: zelarra en 9 Octubre 2023, 18:22 pm Hola. En primer lugar, gracias por aceptarme.
En segundo lugar, quería pedir ayuda, pues estoy intentando crear un archivo bat para borrar una entrada del registro utilizando comodines. El problema que tengo es que una de las carpetas de la ruta suele cambiar con cada actualización del programa (en este caso, Skype), lo que me obliga o bien a modificar el reg cada vez que se actualice, o bien crear un bat con comodines que me permita saltar ese inconveniente. He encontrado un código en Internet, que he adaptado para mi caso, pero no consigo que me funcione. No sé qué puedo estar haciendo mal, pues también he probado a ejecutarlo como administrador. Código: @echo off ¿Alguien me puede ayudar? Muchas gracias. Título: Re: Archivo bat para borrar una entrada de registro con comodines Publicado por: EdePC en 10 Octubre 2023, 15:20 pm Tengo entendido que no se pueden usar comodines para Reg Query de esa manera, tendrías que hacerlo en dos pasos:
1. Busca en la Clave superior la SubClave que tiene el comodín, con /F se especifica esa SubClave Código
2. Puedes usar Find o FindStr para limpiar la salida del comando anterior y quedarte solo con la línea respuesta que te interesa Código
Con eso ya tendrías la parte de la Clave con comodín resuelta y solo te quedaría utilizarla para encadenarla con la otra parte y quede completa, por ejemplo puedes crear un Batch para hacer la prueba primero siempre con un simple Reg Query para ver si va a trabajar bien y no malograr el registro: Código Si el resultado es satisfactorio ya puedes reemplazar el último Reg Query por Reg Delete: Código Otra opción es llamar a PowerShell que es más robusto y sencillo para tu caso porque soporta comodines directamente: Código Título: Re: Archivo bat para borrar una entrada de registro con comodines Publicado por: zelarra en 10 Octubre 2023, 20:22 pm Hola, acabo de encontrar la solución.
He creado un archivo bat, con este código: Código: $partialKeyName = "Microsoft.SkypeApp" Y luego un archivo vbs para ejecutarlo: set cmd = createobject("wscript.shell") cmd.run "powershell.exe -ExecutionPolicy Bypass -File D:\Tecnologia\Skype.ps1", vbHide Set cmd = nothing Por último, he creado una tarea programada para ejecutar el vbs al iniciar el sistema, y arreglado. Muchas gracias por las sugerencias. Un saludo. |