public DownloadOperation(CopyCatScript script, string line) : base(script, line) { //download https://abc.com/some%20resource.txt "C:\Some\Path with space\resource.txt" string[] segments = Utility.SplitWithQuotations(line); Url = segments[1]; LocalFile = segments[2]; }
public CopyOperation(CopyCatScript script, string line) : base(script, line) { string[] segments = Utility.SplitWithQuotations(line); //line.Trim().Split(); //bool flipDirection = segments.Any(segment => segment.Equals("<=")); bool flipDirection = false; if (segments.Length == 4) { Source = segments[1]; flipDirection = segments[2] == "<="; Destination = segments[3]; } else { Source = segments[1]; Destination = segments[2]; } if (flipDirection) { string tmp = (string)Source.Clone(); Source = (string)Destination.Clone(); Destination = tmp; } }
public ExecOperation(CopyCatScript script, string line) : base(script, line) { string[] segments = Utility.SplitWithQuotations(line); string mode = segments[0]; ExecStr = Utility.ConcatenateFrom(segments, 1); Wait = mode.Contains("wait", StringComparison.InvariantCultureIgnoreCase); }
public static void Main(string[] args) { ////Console.WriteLine(new ComputerInfo().OSVersion); //Utility.WaitKey("exit"); //return; //Console.WriteLine(CopyCatScript.GetOS_Str()); //Utility.WaitKey("exit"); Utility.PrintEnclosed("CopyCat", '=', ConsoleColor.White); Utility.PrintAsciiCat(); Dictionary <int, string> scripts = GetScripts(); if (scripts.Count == 0) { Utility.WriteWarning("No scripts were available, exiting program..."); if (Debugger.IsAttached) { Utility.WaitKey("Exit"); } return; } foreach (int key in scripts.Keys) { Console.WriteLine($"{key} - {Path.GetFileName(scripts[key])}"); } Console.Write("Enter the name or number of a script: "); string userInput = Console.ReadLine(); string script = GetSelectedScript(scripts, userInput); if (script == null) { Utility.WriteError("Please enter a valid number or script name..."); } else { var result = CopyCatScript.Execute(script); if (result > 0) { Utility.WriteInfo($"Script finished successfully [{result}]"); } else { Utility.WriteError($"Script finished with one or more errors [{result}]"); } } if (Debugger.IsAttached) { Utility.WaitKey("Exit", ConsoleColor.White); } }
public static BaseOperation InstantiateOperation(int lineNo, CopyCatScript script, string line) { foreach (Type childOperation in Assembly.GetAssembly(typeof(BaseOperation)).GetTypes() .Where(type => !type.IsAbstract)) { MethodInfo?method = childOperation.GetMethod("CommandMatch"); if (method != null) { if ((bool)method.Invoke(null, new[] { line })) { try { return((BaseOperation)Activator.CreateInstance(childOperation, script, line)); } catch { Utility.WriteError($"Failed to parse Ln{lineNo} - {line} // Invalid format for {childOperation.Name}"); } } } } return(null); }
protected BaseOperation(CopyCatScript script, string line) { Script = script; Raw = line; }
public VariableOperation(CopyCatScript script, string line) : base(script, line) { }
public RestOperation(CopyCatScript script, string line) : base(script, line) { line = line.TrimStart().Substring("rest".Length); RequestInfo = JsonConvert.DeserializeObject <RestRequest>(line); }
public ExitOperation(CopyCatScript script, string line) : base(script, line) { }