对cmd字符串使用C#变量

时间:2012-10-22 23:35:08

标签: c# variables cmd

我有一个C#脚本,我想使用我在cmd命令中声明的一些变量:

using System;
using System.Diagnostics;

namespace UserMake
{
    class Program
    {
        static void Main(string[] args)
        {
            string userName;
            string passWord;

            Console.WriteLine("Enter a username:");
            userName = Console.ReadLine();
            Console.WriteLine("Enter a password:");
            passWord = Console.ReadLine();
            Process.Start("cmd","net user userName passWord /add");
        } 
    }
}

我无法弄清楚如何获得' userName'并且' passWord'作为变量集读取,而不是让用户称为' userName'密码' passWord'。

感谢任何帮助。

3 个答案:

答案 0 :(得分:3)

使用string concatenation

Process.Start("cmd","net user" +  userName + " " + passWord + " /add");

或者,您可以使用string.Format

Process.Start(string.Format("net user {0} {1} /add", userName, passWord));

答案 1 :(得分:2)

您应该将连接它们的变量值插入到作为Argument传递给Process.Start方法的字符串

Process.Start("cmd","net user " + userName + " " + passWord  + " /add"); 

但是,您所写的命令不起作用。正确的命令应该是

Process.Start("cmd","/C net user " + userName + " " + passWord  + " /add"); 

答案 2 :(得分:2)

除了连接字符串外,您还可以使用 String.Format

Process.Start("cmd", string.Format("net user {0} {1} /add", userName, passWord);