Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. 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 :)


sd
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5702
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!


sd
PM Quote