public FormMain(string[] paths = null) { InitializeComponent(); //Progress bar Progress <FileSplitterProgressInfo> progress = new Progress <FileSplitterProgressInfo>(); progress.ProgressChanged += UpdateProgress; //FileSplitter setup fs = new FileSplitter.FileSplitter( //Network graphics chosen arbitrarily typeof(NetworkGraphics).Assembly.GetExportedTypes(), paths?.Where(x => Directory.Exists(x)).ToArray(), progress); fileSplitterPropertyGrid.SelectedObject = fs; fs.VirtualFileUpdated += UpdateList; /*RIP Databinding * workingDirectoryListView.BindingContext[fs,"VirtualFile.Keys"]. * workingDirectoryListView.DataBindings.Add(new Binding("Items", fs, "VirtualFile.Keys")); */ //FileMerger setup fms = new BindingList <FileMerger.FileMerger>(); fileMergerListBox.DataSource = fms; }
/// <summary> /// Start Components & assign events /// </summary> public FrmSplitter() { InitializeComponent(); // Init Texts this.lbFile.Text = Properties.Resources.FILE; this.grpSplitSize.Text = Properties.Resources.SPLITSIZE; this.cmdStart.Text = Properties.Resources.START; this.openFileDialog.Filter = Properties.Resources.FILE_EXTENSIONS; this.lbCurrentFileProgress.Text = Properties.Resources.ACTUAL_FILE_PROGRESS; this.lbAllFilesProgress.Text = Properties.Resources.ALL_FILES_PROGRESS; this.lbInfo.Text = Properties.Resources.SPLIT_INFO; this.lbEstimatedParts.Text = Properties.Resources.SPLINT_INFO_PARTS_DEF; this.Text = Properties.Resources.TITLE; cmbUnits.Items.Add(new ComboboxItem("bytes", OPERATION_SPIT.BY_BYTE)); cmbUnits.Items.Add(new ComboboxItem("Kilobytes", OPERATION_SPIT.BY_KBYTE)); cmbUnits.Items.Add(new ComboboxItem("Megabytes", OPERATION_SPIT.BY_MBYTE)); cmbUnits.Items.Add(new ComboboxItem("Gigabytes", OPERATION_SPIT.BY_GBYTE)); cmbUnits.Items.Add(new ComboboxItem(Properties.Resources.CMB_LINES, OPERATION_SPIT.BY_LINES)); fileSplitter = new FileSplitter(); fileSplitter.start += new FileSplitter.StartHandler(fileSplitter_splitStart); fileSplitter.finish += new FileSplitter.FinishHandler(fileSplitter_splitEnd); fileSplitter.processing += new FileSplitter.ProcessHandler(fileSplitter_splitProcess); fileSplitter.message += new FileSplitter.MessageHandler(fileSplitter_message); cmbUnits.SelectedIndex = 2; loadPreferences(); }
public static async Task Main(string[] args) { var options = args.ParseCommandLineArgs(); if (options == null) { Environment.Exit(-1); ConsoleHelper.DisplayDebugMessage(); return; } var logger = LoggingHelper.CreateConsoleAppLogger(); if (!options.AreValidOptions(logger)) { Environment.Exit(-1); ConsoleHelper.DisplayDebugMessage(); return; } var fileSplitter = new FileSplitter(options, logger); await fileSplitter.Split(); ConsoleHelper.DisplayDebugMessage(); }
static void Main(String[] args) { Console.Title = Application.ProductName + " " + Application.ProductVersion + " Console Window"; CommandLine cmd = new CommandLine(); if (args != null && args.Length > 1) { cmd.parseArguments(args); if (cmd.hasKey("split")) { List <string> splitParams = cmd.getParamsOfKey("split"); if (splitParams.Count < 3) { Console.WriteLine("Missing parameter"); cmd.printUsageHelp(); Environment.Exit(1); // return an ErrorLevel in case it is processed in a Batch file } else { // check size Int64 size = 0; Boolean delete = false; string format = null; String destinationFolder = null; String outLogFile = null; OPERATION_SPIT mode = OPERATION_SPIT.BY_BYTE; // Check size try { size = Convert.ToInt64(splitParams[0]); } catch { Console.WriteLine("Invalid size"); cmd.printUsageHelp(); Environment.Exit(EXIT_CODE_FAIL); } // check units if (args[2].ToLower() == "b") { mode = OPERATION_SPIT.BY_BYTE; } else if (args[2].ToLower() == "kb") { mode = OPERATION_SPIT.BY_KBYTE; } else if (args[2].ToLower() == "mb") { mode = OPERATION_SPIT.BY_MBYTE; } else if (args[2].ToLower() == "gb") { mode = OPERATION_SPIT.BY_GBYTE; } else if (args[2].ToLower() == "l") { mode = OPERATION_SPIT.BY_LINES; } else { Console.WriteLine("Invalid size unit"); cmd.printUsageHelp(); Environment.Exit(EXIT_CODE_FAIL); } size = Utils.unitConverter(size, mode); // check delete original if (cmd.hasKey("d")) { delete = true; } // check format if (cmd.hasKey("f")) { if (cmd.hasParams("f")) { format = cmd.getParamsOfKeyAsString("f"); } else { Console.WriteLine("Invalid format"); cmd.printUsageHelp(); Environment.Exit(EXIT_CODE_FAIL); } } // Check destination Folder if (cmd.hasKey("df")) { if (cmd.hasParams("df")) { destinationFolder = cmd.getParamsOfKeyAsString("df"); } else { Console.WriteLine("Invalid destination"); cmd.printUsageHelp(); Environment.Exit(EXIT_CODE_FAIL); } } // Check file to save names if (cmd.hasKey("lf")) { if (cmd.hasParams("lf")) { outLogFile = cmd.getParamsOfKeyAsString("lf"); } else { Console.WriteLine("Invalid file"); cmd.printUsageHelp(); Environment.Exit(EXIT_CODE_FAIL); } } // check file exists String fileName = args[3]; if (File.Exists(fileName)) { FileSplitter fs = new FileSplitter(); fs.start += new FileSplitter.StartHandler(fs_splitStart); fs.finish += new FileSplitter.FinishHandler(fs_splitEnd); fs.processing += new FileSplitter.ProcessHandler(fs_splitProcess); fs.message += new FileSplitter.MessageHandler(fs_message); fs.FileName = fileName; fs.PartSize = size; fs.OperationMode = mode; fs.DeleteOriginalFile = delete; fs.DestinationFolder = destinationFolder; fs.GenerationLogFile = outLogFile; if (format != null) { fs.FileFormatPattern = format; } fs.doSplit(); Environment.Exit(EXIT_CODE_OK); // return an ErrorLevel indicating successful launch } else { Console.WriteLine("File does not exist"); cmd.printUsageHelp(); Environment.Exit(EXIT_CODE_FAIL); } } /* TODO JOIN */ } else { Console.WriteLine("Unrecognized Command"); cmd.printUsageHelp(); Environment.Exit(EXIT_CODE_FAIL); } } else { setConsoleWindowVisibility(false); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new FrmSplitter()); Environment.Exit(EXIT_CODE_OK); // although there's not much point - the console window is no longer visible. Does it need to be closed? } }
static void Main(string[] args) { FileSplitter.proccessFiles(); }