C# 将值从表单文本框传递到.bat,以设置计算机';s IP

C# 将值从表单文本框传递到.bat,以设置计算机';s IP,c#,winforms,batch-file,C#,Winforms,Batch File,我有以下.bat文件(称为ip集): 以及以下C#(将参数传递给.bat并执行): 我不断收到错误:“无效的地址参数(sub)。它应该是有效的IPv4地址。” 我不知道出了什么问题/遗漏了什么。您在哪里设置%ip以及其他设置?参数应该是%1、%2和%3打印格式化参数以确保其正确。顺便说一句,我更愿意做一个系统调用。批处理中的变量是用%variable%调用的,而不是%variable(注意变量名称两侧的百分号)。批处理文件没有像其他脚本语言那样的命名参数(如果您正试图这样做的话)。您在哪里设置%

我有以下.bat文件(称为ip集):

以及以下C#(将参数传递给.bat并执行):

我不断收到错误:“无效的地址参数(sub)。它应该是有效的IPv4地址。”


我不知道出了什么问题/遗漏了什么。

您在哪里设置
%ip
以及其他设置?参数应该是
%1
%2
%3
打印格式化参数以确保其正确。顺便说一句,我更愿意做一个系统调用。批处理中的变量是用
%variable%
调用的,而不是
%variable
(注意变量名称两侧的百分号)。批处理文件没有像其他脚本语言那样的命名参数(如果您正试图这样做的话)。您在哪里设置
%ip
以及其他?参数应该是
%1
%2
%3
打印格式化参数以确保其正确。顺便说一句,我更愿意进行系统调用。批处理中的变量是用
%variable%
调用的,而不是
%variable
(请注意变量名称两侧的百分号)。批处理文件没有像其他脚本语言那样的命名参数,如果您正试图这样做的话。
netsh interface ip set address name="Local Area Connection" static %ip %sub %def
pause
exit
proc = new Process();
proc.StartInfo.WorkingDirectory = String.Format(@"C:\test\WindowsFormsApplication1\setup");
proc.StartInfo.FileName = "ip-set";
proc.StartInfo.Arguments = String.Format("{0} {1} {2}", textBox1.Text, textBox2.Text, textBox3.Text);
proc.Start();