예제 #1
0
        static void Main(string[] args)
        {
            Console.Title = "TextFileSplitterConsole.exe";

            cmdargs = new Arguments(args);

            if (!Equals(cmdargs["help"], null) || !Equals(cmdargs["?"], null))
            {
                ShowUsage();
            }
            else
            {
                context        = new FileSplitContext();
                FilesToProcess = new List <string>();

                if (!string.IsNullOrEmpty(cmdargs["hideconsole"]))
                {
                    HideConsole();
                }

                if (!string.IsNullOrEmpty(cmdargs["sourceisdirectory"]))
                {
                    context.SourceIsDirectory = true;
                }

                context.SourceFilePath      = cmdargs["i"];
                context.DestinationFilePath = cmdargs["o"];

                if (!Equals(cmdargs["h"], null))
                {
                    context.KeepHeaders = true;

                    try
                    {
                        context.HeaderLineCount = Convert.ToInt32(cmdargs["h"]);
                    }
                    catch (Exception)
                    {
                        context.HeaderLineCount = 1;
                    }
                }

                if (!string.IsNullOrEmpty(cmdargs["filepattern"]))
                {
                    context.UseFileNamePattern = true;
                    context.FileNamePattern    = cmdargs["filepattern"];
                }
                else
                {
                    context.FileNamePattern = Common.DefaultFilePattern;
                }

                if (!string.IsNullOrEmpty(cmdargs["splitstrategy"]))
                {
                    string strategyRaw = cmdargs["splitstrategy"];

                    ProcessStragegySwitch(strategyRaw);
                }
            }
        }