0

こんにちは、ファイル パス、ユーザー名、コンピューター名の 3 つのユーザー入力を受け取り、リスト内のコンピューター名ごとにバッチ ファイルを作成するプログラムを作成しようとしています。バッチ ファイルの作成部分はまだ作成していませんが、コンピューターのテキスト ボックスから複数のコンピューターを取り出して、それらから別のコード行を作成するのに問題があります。

そのため、コンピューターのテキストボックス内に 3 つのコンピューター名がある場合、ユーザーがボタンを押したときに、各コンピューター名を別の行に出力するのが好きです。

コンピューター名のテキスト ボックスに次のコンピューター名が含まれている場合: M22-LIBRL74258S、M22-LIBRL74257S、および M22-LIBRL74256S

出力は次のようになります。

XCOPY "C:\Documents and Settings\Administrator\Desktop\file.exe" "\M22-LIBRL74258S\c$\Users\username\desktop"

XCOPY "C:\Documents and Settings\Administrator\Desktop\file.exe" "\M22-LIBRL74257S\c$\Users\username\desktop"

XCOPY "C:\Documents and Settings\Administrator\Desktop\file.exe" "\M22-LIBRL74256S\c$\Users\username\desktop"

ありがとう!

WindowsFormsApplication1
{
       public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void browsebtn_Click(object sender, EventArgs e)
    {
        {

            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.Title = "Select a File to Send";

            // Show the Dialog.
            // If the user clicked OK in the dialog and

            if (openFileDialog1.ShowDialog(this) == DialogResult.OK)
            {
                string strfilename = openFileDialog1.InitialDirectory + openFileDialog1.FileName;
                pathtxt.Text = strfilename.ToString();
            }

        }
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void createbtn_Click(object sender, EventArgs e)
    {

        string filepath = pathtxt.Text.ToString();

        string username = usertxtbox.Text.ToString();




        string computer = computerstxtbox.Text;
        string[] split = computer.Split(new char[] { '\n' });



        foreach (string l in split)
        {

            var strIP = "XCOPY \"" + pathtxt.Text + '"' + ' ' + '"' + "\\" + "\\" + l + "\\" + "c$" + "\\" + "Users" + "\\" + username + "\\" + "desktop" + '"';
            //This is to see it

            MessageBox.Show(strIP);
        }
4

1 に答える 1

0

行を交換してみてください

string[] split = computer.Split(new char[] { '\n' });

代わりにこれで

string[] split = computer.Split(new String[] {"\r\n"}, StringSplitOptions.None);

また、コンピューター名がコンマで区切られている場合は、分割でも指定する必要があります。例 new String[] {"\r\n", ","}

于 2012-08-18T02:22:44.387 に答える