我想事先致歉,因爲此問題可能已在別處得到解答(無法找到具體答案)。我已經廣泛搜索,這使我越來越困惑。在這一點上,我想我可以簡單快速地回答我的具體問題/難題。如何將C#字符串變量傳遞給Windows窗體中的.BAT文件
我有一個C#Windows窗體應用程序。我正在使用文本框和按鈕進行測試。我希望用戶在文本框中輸入一個3位數的數字,然後單擊按鈕將3位用戶輸入保存爲字符串值,然後啓動預定義的.BAT文件。然後我想輸入GOTO 字符串由我的.BAT文件執行。這是我到目前爲止:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ComboBoxAndButton
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.textBox1.KeyPress += new KeyPressEventHandler(textBox1_KeyPress);
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar);
}
public string opconumber;
private void textBox1_TextChanged(object sender, EventArgs e)
{
opconumber = textBox1.Text;
}
private void button1_Click(object sender, EventArgs e)
{
Start();
}
private void Start()
{
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = @"C:\mybat.bat";
//I am guessing that i need my string inserted somewhere in here.
proc.StartInfo.RedirectStandardError = false;
proc.StartInfo.RedirectStandardOutput = false;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
proc.EnableRaisingEvents = true;
proc.Start();
proc.WaitForExit();
this.Close();
}
}
}
我遇到問題的另一件事是讓退格鍵工作。我嘗試了幾個不同的片段,但無法正確使用它。任何指針或批評都被公開接受。提前致謝!
編輯:
好的。我有一個批處理文件,我想跳到一個特定的標籤。我想我保存的字符串變量作爲在bat文件中執行的決定性因素。這裏是一個例子:
@echo off
:111 ECHO Argument 111
goto end
:112 ECHO Argument 112
goto end
:end
pause
我怎樣才能得到蝙蝠開始:112發射蝙蝠時使用字符串「112」?
你是什麼意思的「通行證」它蝙蝠?我猜你正在查找執行bat文件時的參數...... – derape 2013-03-20 14:47:09