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

本文关键字:应用程序 执行 命令 控制台 Windows | 更新日期: 2023-09-27 18:03:30

如何在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();
        }

    }
}

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

诊断。流程

            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();

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

  1. foreach
  2. ,

每一种方法的文档都非常详细,在这里我就不再解释了。

文件相关的操作可以分别通过File和Directory类执行。例如,要重命名一个文件,您可以使用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]);
}

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

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