如何在C#Windows控制台应用程序中执行命令?

时间:2011-07-23 05:58:12

标签: c# .net windows console-application

如何在C#Windows控制台应用程序中实现此伪代码?

for i=1 to 100
    rename filei newFilei

关键目标是在Windows控制台应用程序中循环并执行任何cmd命令。

class Program
{
    static void Main(string[] args)
    {
        string strCmdLine;
        System.Diagnostics.Process process1;
        process1 = new System.Diagnostics.Process();


        Int16 n = Convert.ToInt16(args[1]);
        int i;
        for (i = 1; i < n; i++)
        {
            strCmdLine = "/C xxxxx xxxx" + args[0] + i.ToString();
            System.Diagnostics.Process.Start("CMD.exe", strCmdLine);
            process1.Close();
        }


    }
}

3 个答案:

答案 0 :(得分:3)

Diagnostics.Process

            System.Diagnostics.Process proc;

            cmd = @"strCmdLine = "/C xxxxx xxxx" + args[0] + i.ToString();

            proc = new System.Diagnostics.Process();
            proc.EnableRaisingEvents = false;
            proc.StartInfo.FileName = "cmd";
            proc.StartInfo.Arguments = cmd;
            proc.Start();

答案 1 :(得分:1)

C#支持四种不同的循环结构:

  1. for
  2. foreach
  3. while
  4. do
  5. 每个文档的文档都非常详细,我不会在这里再解释一下。

    可以分别使用FileDirectory类执行与文件相关的操作。例如,要重命名文件,您可以使用File类的Move方法。

    File.Move("oldName","NewName");

    由于假定oldNameNewName都位于同一目录中,因此名为oldName的文件将重命名为NewName

    关于启动其他应用程序,Process类提供启动进程并监视其执行的能力。我将继续调查这个课程,并为读者提供这些功能。

    问题中包含的伪代码可以转换为C#中的以下代码。请注意,此示例不包含任何始终要包含在生产代码中的错误处理。

    string[] sourceFileNames=new string[100];
    string[] destFileNames = new string[sourceFileNames.Length];
    //fill arrays with file names.
    for (int i=0; i < fileNames.Length; i++)
    {
    File.Move(sourceFileNames[i], destFileNames[i]);
    }
    

答案 2 :(得分:0)

如果你正在做的只是重命名文件,你可以使用System.IO.File类和Move方法

进行重命名

http://msdn.microsoft.com/en-us/library/system.io.file.move.aspx