Comment je peut exécuter une Commande de traitement par Lots en C# directement?
bonjour j'ai une question pour c# et des fichiers de commandes. Je veux faire exécuter une commande de traitement par lots et d'enregistrer le résultat dans une chaîne de caractères en c#. mais je ne peux exécuter le fichier mais pas d'enregistrer ce contenu dans une chaîne de caractères et montrer dans une zone de texte.
mon fichier de commandes:
@echo off
"C:\lmxendutil.exe" -licstatxml -hôte serv005 -port
6200>C:\Temp\HW_Lic_XML.xml le bloc-notes C:\Temp\HW_Lic_XML.xml
Voici mon code c#:
private void btnShowLicstate_Click(object sender, EventArgs e)
{
string command = "'C:\\lmxendutil.exe' -licstatxml -host lwserv005 -port 6200";
txtOutput.Text = ExecuteCommand(command);
}
static string ExecuteCommand(string command)
{
int exitCode;
ProcessStartInfo processInfo;
Process process;
processInfo = new ProcessStartInfo("cmd.exe", "/c " + command);
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
//*** Redirect the output ***
processInfo.RedirectStandardError = true;
processInfo.RedirectStandardOutput = true;
process = Process.Start(processInfo);
process.WaitForExit();
//*** Read the streams ***
string output = process.StandardOutput.ReadToEnd();
string error = process.StandardError.ReadToEnd();
exitCode = process.ExitCode;
process.Close();
return output;
}
Je veux la sortie j'ai un stirng et si je peux faire ce que je veux que je ne peux pas avoir un fichier de commandes. je veux faire ce batvchcommand direct en c# ...puis-je faire cela?
OriginalL'auteur Tarasov | 2013-05-21
Vous devez vous connecter pour publier un commentaire.
N'avez pas besoin d'utiliser "CMD.exe" pour exécuter une ligne de commande de l'application ou de récupérer la sortie, vous pouvez utiliser "lmxendutil.exe" directement.
Essayez ceci:
Faire vos modifications à l'utilisation de la commande "" il.
J'espère que cette aide.
OriginalL'auteur ElektroStudios
Il ne me semble pas comme un fichier batch va produire une sortie. Si vous exécutez dans la ligne de commande, voyez-vous une sortie? Vous avez la redirection
>
opérateur dans votre fichier bat ligne, donc il semble que vous essayez d'envoyer la sortie vers le fichier xml.Si vous avez enregistré la sortie vers un fichier xml, vous devriez peut-être juste de la charge que l'utilisation de C# une fois votre processus s'arrête.
OriginalL'auteur Andy Brown