我需要命令行是如下:从命令行检测参数
sortfolder.exe -6.70_Extensions -7
其中7
是foreach(var file in files.OrderByDescending(x=>x).Skip(7))
和-6.70_Extensions
是var di = new DirectoryInfo("C:\\Work\\6.70_Extensions\\Build");
和static string path = "C:\\Work\\6.70_Extensions\\Build\\"
sortfolder.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
可以是任意整数
如何我可以做到这一点吗?
编辑:
通过this
浏览后,我修改了代码:
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);
}
}
}
东西是不正确的我的语法?
作为提示,args [0]将会是'-6.70_Extensions' – debracey 2011-05-24 02:16:35
谢谢,我会去看看 – jeremychan 2011-05-24 02:26:06