Tengo un valor de cadena establecido en CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce cuyo objetivo es eliminar una carpeta al reiniciar. Su valor es:
rd /s /q "ThisPath"
Así no se borra nada. Si en cambio uso:
cmd.exe /c rd /s /q "ThisPath"
Funciona después de mostrar un cuadro negro durante una fracción de segundos. ¿Hay alguna manera de enviar el primer comando sin mostrar el cuadro negro?
Respuesta1
El rd
comando desde el que intenta ejecutar CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
no es un ejecutable sino un comando interno, por cmd.exe
lo que falla si intenta ejecutarlo por sí solo.
El rd
comando solo funcionará dentro de una cmd.exe
instancia.
El "cuadro negro" que ves parpadeando al inicio se está cmd.exe
iniciando, ejecutando el rd
comando y cerrándose nuevamente.
Si coloca el rd
comando en un archivo por lotes, puede iniciarlo minimizado con:
cmd.exe /c start /min c:\path\to\RemoveDir.bat
Esto lo hará menos visible.