public override int Execute(string[] args) { // sanity check if (args.Length != 3) { throw new ArgumentException("incorrect number of arguments"); } string ip = args[1]; string csv = args[2]; string root = Directory.GetCurrentDirectory(); IO.CheckRootAndPattern(ref root, ref csv); string filename = IO.GetFilename(csv); string filepath = root + filename; var files = FTPHelper.GetFileList(ip); if (!files.Contains("posreg.va")) { throw new FileNotFoundException("posreg.va not found on ftp server"); } var input = StringHelper.GetString(FTPHelper.DownloadBytes(ip, "posreg.va")); if (File.Exists(filepath)) { File.Delete(filepath); } var positions = FanucPositionsToCSV.ExportPositions(input, filepath); ConsoleHelper.WriteLine(positions.ToString() + " Position" + ((positions != 1) ? "s" : "") + " Exported", ConsoleColor.DarkYellow); return(ConsoleHelper.EXIT_OK); }