none
AYUDA SOBRE C# EN CMD RRS feed

  • Pregunta

  • Hola buenas noches y un gran saludo, mi pregunta es la siguiente tengo un código que me crea un nuevo CMD pero oculto, las acciones que le pido desde C# en modo edición cuando se ejecuta si las realiza a la perfección mis comandos, pero cuando ejecuto el programa desde la carpeta "Bin" del proyecto, no se ejecuta ninguno de mis comandos el código es el siguiente.

    //Creamos un CMD oculto para realizar acciónes
    Process cmd = new Process();
    cmd.StartInfo.FileName = "cmd.exe";
    cmd.StartInfo.RedirectStandardInput = true;
    cmd.StartInfo.RedirectStandardOutput = true;
    cmd.StartInfo.CreateNoWindow = true;
    cmd.StartInfo.UseShellExecute = false;
    cmd.Start();
    cmd.StandardInput.WriteLine("cd/");
    //Borramos el contenido de la carpeta %Temp%
    cmd.StandardInput.WriteLine("rd %Temp% /S /Q");
    //Borramos los archivos de la carpeta temp
    cmd.StandardInput.WriteLine("rd Windows\\Temp /S /Q");
    //Borramos el Caché DNS  
    cmd.StandardInput.WriteLine("ipconfig /flushdns");
    cmd.StandardInput.Flush();
    cmd.StandardInput.Close();
    cmd.WaitForExit();
    richTextBox1.Text = cmd.StandardOutput.ReadToEnd();
    Mi pregunta es: a que se debe este error o estoy haciendo algo mal en mi código que no me estoy dando cuenta, saludos

         
    sábado, 3 de febrero de 2018 8:52

Respuestas

  • ya resolví mi duda espero alguien mas le sirva

    //Creamos un CMD oculto para realizar acciónes
                    Process programa = new Process();
                    ProcessStartInfo info = new ProcessStartInfo("cmd");
                    //Borramos el contenido de la carpeta %Temp%
                    info.Arguments = @"/K rd %Temp% /S /Q";                    
                    info.WindowStyle = ProcessWindowStyle.Hidden; //Iniciamos la aplicación oculta    
                    programa = Process.Start(info);
                    //Borramos los archivos de la carpeta temp
                    info.Arguments = @"/K rd C:\Windows\Temp /S /Q";
                    info.WindowStyle = ProcessWindowStyle.Hidden; //Iniciamos la aplicación oculta 
                    programa = Process.Start(info);
                    //Borramos el Caché DNS  
                    info.Arguments = @"/K ipconfig /flushdns";
                    info.WindowStyle = ProcessWindowStyle.Hidden; //Iniciamos la aplicación oculta 
                    programa = Process.Start(info);

    sábado, 3 de febrero de 2018 23:18

Todas las respuestas

  • Opcines que tienes que verificar:

    ejecuta tu app desde donde quieras pero como adminisradro (botón deeecho y ejecutar como admin)si asi te funciona ya ves el problema necesitas elevar los permisos para ejecutar tu app.

    Es posible que tengas configurado el visual studio para que se ejecute como adminy por eso te funciona en modo debug o realease desde el mimso vs.

    Otro consejo en lugar mandar las condiciones una a una quizas se amejor que ejecute directamente un archivo bath .bat desde tu cmd en tu app.

    asi lo puedes editar sin tenenr que compilar.

    sábado, 3 de febrero de 2018 12:10
  • vyrcyrus_ lo ejecute como administrador como me indicaste pero nada solo se ejecuta la primer linea y sobre el archivo "bat" esa era mi otra opción pero al momento de ejecutar el archivo bat, se visualiza el CMD por un momento y lo que hacia con mi código es que no se visualizaba el CMD al momento de hacer la acción, saludos 
    sábado, 3 de febrero de 2018 20:19
  • ya resolví mi duda espero alguien mas le sirva

    //Creamos un CMD oculto para realizar acciónes
                    Process programa = new Process();
                    ProcessStartInfo info = new ProcessStartInfo("cmd");
                    //Borramos el contenido de la carpeta %Temp%
                    info.Arguments = @"/K rd %Temp% /S /Q";                    
                    info.WindowStyle = ProcessWindowStyle.Hidden; //Iniciamos la aplicación oculta    
                    programa = Process.Start(info);
                    //Borramos los archivos de la carpeta temp
                    info.Arguments = @"/K rd C:\Windows\Temp /S /Q";
                    info.WindowStyle = ProcessWindowStyle.Hidden; //Iniciamos la aplicación oculta 
                    programa = Process.Start(info);
                    //Borramos el Caché DNS  
                    info.Arguments = @"/K ipconfig /flushdns";
                    info.WindowStyle = ProcessWindowStyle.Hidden; //Iniciamos la aplicación oculta 
                    programa = Process.Start(info);

    sábado, 3 de febrero de 2018 23:18