Comment traduire le système ("") sur c # sans appeler cmd.exe? edit: j'ai besoin de jeter quelque chose comme "dir" p>
6 Réponses :
Je ne sais pas si je comprends votre question. Cherchez-vous processus.start code>? P>
Si j'ai bien compris votre question, vous recherchez processus.start . See Cet exemple (de la DOCS): P> // Create a DirectoryInfo of the directory of the files to enumerate.
DirectoryInfo DirInfo = new DirectoryInfo(@"\\archives1\library");
DateTime StartOf2009 = new DateTime(2009, 01, 01);
// LINQ query for all files created before 2009.
var files = from f in DirInfo.EnumerateFiles()
where DirInfo.CreationTimeUtc < StartOf2009
select f;
// Show results.
foreach (var f in files)
{
Console.WriteLine("{0}", f.Name);
}
. Vous pouvez l'utiliser pour créer votre propre liste de répertoires. Par exemple (également de la DOCS): P>
// Opens urls and .html documents using Internet Explorer. void OpenWithArguments() { // url's are not considered documents. They can only be opened // by passing them as arguments. Process.Start("IExplore.exe", "www.northwindtraders.com"); // Start a Web page using a browser associated with .html and .asp files. Process.Start("IExplore.exe", "C:\\myPath\\myFile.htm"); Process.Start("IExplore.exe", "C:\\myPath\\myFile.asp"); }
Et vous devriez éviter le système () en premier lieu de votre application C d'origine C.
Dir n'était qu'un exemple que je veux simuler cmd.exe
Quoi que vous essayiez de réaliser avec le système, il existe presque certainement un moyen plus propre de le faire directement de C / C #. système i> est une fonction à éviter.
Comme les autres personnes notées, c'est processus.start a > strong>. Exemple:
Quel serait le répertoire de travail si vous appelez processus.start (@ "c: \ myapp \ foo.exe"); code> en tant que tel?
Est-ce que vous réellement em> veux l'équivalent? Vous ne pouvez pas dépendre de ce que vous essayez exactement de faire. P>
Par exemple, appelant Si le GLOBAL "INVOKE" est ce que vous êtes après, alors comme les autres réponses suggèrent, à l'aide de Copier code> de la ligne de commande a un équivalent C #,
fichier.copy code>
, pour dir code> il y a un tout
répertoire code>
classe pour obtenir des informations (ce sont un rapide 2 sur des milliers d'exemples). Selon ce que vous avez après, C # a probablement une bibliothèque / fonction pour la commande spécifique em> que vous essayez d'exécuter, généralement une méthode plus robuste également, au lieu d'un gestionnaire mondial. p>
system.diagnostiques.process code>
classe est votre meilleur pari. p>
I need to throw something like "dir" If you need to run DIR, then you need to call cmd.exe as dir is internal to cmd.exe
Si vous souhaitez exécuter une commande de ligne de commande (cmd.exe), telle que "dir" ou "temps" ou "mkdir", transmettez la commande sous forme d'argument à cmd.exe avec le drapeau / c. Par exemple, P>
cmd.exe /C mkdir "New Dir"