繁体   English   中英

从命令行检测 arguments

[英]detect arguments from command line

我需要的命令行如下:

sortfolder.exe -6.70_Extensions -7

其中7foreach(var file in files.OrderByDescending(x=>x).Skip(7))

-6.70_Extensionsvar di = new DirectoryInfo("C:\\Work\\6.70_Extensions\\Build"); static string path = "C:\\Work\\6.70_Extensions\\Build\\"

排序文件夹.exe:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace sortfolder
{
    class Program
    {
        static string path = "C:\\Work\\6.70_Extensions\\Build\\";

        static void Main(string[] args)
        {
            var di = new DirectoryInfo("C:\\Work\\6.70_Extensions\\Build");

            foreach (var file in di.GetFiles("*", SearchOption.AllDirectories))
                file.Attributes &= ~FileAttributes.ReadOnly;

            var files = Directory.GetDirectories(path, "SASE Lab Tools.*");
            foreach(var file in files)
            Console.WriteLine(file);
            foreach(var file in files.OrderByDescending(x=>x).Skip(7))
            Console.WriteLine(file);
            foreach(var file in files.OrderByDescending(x=>x).Skip(7))
            Directory.Delete(file, true);
        }
    }
}

所以我的命令行是这样的: sortfolder.exe -version -integer

这个version可以是任何形式:

6.70_Extensions
6.80_Extensions
7.00_Main
7.20_Main
8.00_Extensions
etc

integer

可以是任何 integer

我怎样才能做到这一点?

编辑:

浏览完这个

我编辑了我的代码:

namespace sortfolder
{
    class Program
    {
        static void Main(string[] args)
        {
            var di = new DirectoryInfo("C:\\Work\\{0}\\Build", args[0]);
            string path = ("C:\\Work\\{0}\\Build\\", args[0]) ;
            foreach (var file in di.GetFiles("*", SearchOption.AllDirectories))
                file.Attributes &= ~FileAttributes.ReadOnly;

            var files = Directory.GetDirectories(path, "SASE Lab Tools.*");
            foreach(var file in files)
            Console.WriteLine(file);
            foreach(var file in files.OrderByDescending(x=>x).Skip({0}), args[1])
            Console.WriteLine(file);
            foreach(var file in files.OrderByDescending(x=>x).Skip({0}), args[1])
            Directory.Delete(file, true);
        }
    }
}

我的语法有什么不对的地方??

看到Main()中的string[] args了吗? 好好利用它。

http://msdn.microsoft.com/en-us/library/acy3edy3.aspx

上面的链接有所有的解释和例子来帮助你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM