Я новичок в программировании на C#. Я хотел бы, чтобы приложение содержало 1 текстовое поле и 1 кнопку отправки, чтобы выполнить пакетный файл.Форма окна исполняет командный файл
Файл d: \ XMLupdate.bat, но программа добавляет номер в командной строке в файле например D: \ XMLupdate.bat 10 или d: \ XMLupdate.bat 15
Другой дело в том, что представление должно быть подтверждено либо 1 -999 или ALL
в Java образом:
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);
}
else{
try{
int boxNumber = Integer.parseInt(jTextField1.getText());
if((boxNumber > 0) && boxNumber < 1000)
{
String arguments = jTextField1.getText();
String command = "CMD /C start d:/XMLupdate.bat " + arguments;
Runtime rt = Runtime.getRuntime();
rt.exec(command);
}
else{
JOptionPane.showMessageDialog(null, "Invalid value entered.");
}
}catch(Exception e)
{
JOptionPane.showMessageDialog(null, "Invalid value entered.");
}
}
Однако, машина не может установить JVM. Поэтому я должен построить его в exe. Мой язык программирования C#:
Вот исходный код:
public partial class Form1 : Form
{
//private System.Windows.Forms.TextBox textBox1; //Input text
//private System.Windows.Forms.Button button1; //Sumbit button
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//get text
// string str_inputText = textBox1.Text;
if (!(textBox1.Text.Equals("")))
{
if (textBox1.Text.Equals("ALL"))
{
try
{
Process p = new Process();
p.StartInfo.FileName = "CMD.exe"; //Execute command
p.StartInfo.WorkingDirectory = "c:\temp"; //Diretory
p.StartInfo.Arguments = "xmlupdate.bat" + int.Parse(textBox1.Text);
p.Start();
p.WaitForExit();
}
catch (Exception ex)
{
Console.WriteLine("Exception Occurred :{0},{1}", ex.Message, ex.StackTrace.ToString());
MessageBox.Show("Invalid value entered");
}
}
}
}
private void textBox1_TextChanged(object sender, CancelEventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
//Check the input number, only allow from 0 until 1000
try
{
int numberEntered = int.Parse(textBox1.Text);
if (numberEntered < 1 || numberEntered > 10)
{
// e.Cancel = true;
}
}
catch (FormatException)
{
// e.Cancel = true;
MessageBox.Show("You need to enter a number between 1 and 999");
}
}
}
Мой основной вопрос о методе процесса, может я выполнить это, как это? спасибо
У вас есть конкретная ошибка с кодом, или вы спрашиваете, будет ли она работать, даже не пытаясь ее самостоятельно? – JeffO