Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Comandare shell c#
Forum - C# / VB.NET - Comandare shell c#

Avatar
superdario (Normal User)
Newbie


Messaggi: 6
Iscritto: 03/07/2013

Segnala al moderatore
Postato alle 19:45
Sabato, 15/03/2014
Ciao a tutti, necessito di interagire con il prompt dei comandi e sto sviluppando in c#. Questo è il codice che sto cercando di implementare:
Codice sorgente - presumibilmente C# / VB.NET

  1. System.Diagnostics.Process proc = new System.Diagnostics.Process();
  2.             proc.StartInfo.FileName = "cmd.exe";
  3.             proc.StartInfo.Arguments = "/C ipconfig";
  4.             proc.StartInfo.UseShellExecute = false;
  5.             proc.StartInfo.RedirectStandardOutput = true;
  6.             proc.StartInfo.RedirectStandardInput = true;
  7.             proc.Start();
  8.            
  9.             //visualizzo il risutato
  10.             string line = "";
  11.             while (!proc.StandardOutput.EndOfStream)
  12.             {
  13.                 line = line + "\n" + proc.StandardOutput.ReadLine();
  14.             }
  15.             System.Console.WriteLine(line);
  16.  
  17.            
  18.             line = "";
  19.             //mando in esecuzione un  secondo comando
  20.             proc.StartInfo.Arguments = "/C dir";
  21.             proc.Start();
  22.  
  23.             //visualizzo il risultato
  24.             while (!proc.StandardOutput.EndOfStream)
  25.             {
  26.                 line = line + "\n" + proc.StandardOutput.ReadLine();
  27.             }
  28.             System.Console.WriteLine(line);



ok così funziona.
Il problema è quando inserisco all'inizio al posto del comando "ipconfig" il comando "date", il programma si blocca. Non capisco perchè!
Grazie in anticipo :)

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:53
Sabato, 15/03/2014
date /T

per evitare l'input della nuova data

Ma non mi dire che vuoi ottenere la data così in un programma C#!


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
superdario (Normal User)
Newbie


Messaggi: 6
Iscritto: 03/07/2013

Segnala al moderatore
Postato alle 20:14
Sabato, 15/03/2014
no no erano solo esempi di input, erano le prime istruzioi che mi sono venute in mente xD
Grazie comunque!

PM Quote