public override CommandFeedback Execute(string[] args) { if (args.Length == 1) { return(CommandFeedback.WrongNumberOfArguments); } string target = args[1]; string line = args[2]; string searchParams = args[3]; while (line.Contains("\\n")) { line = line.Replace("\\n", "\n"); } if (!Directory.Exists(target)) { return(CommandFeedback.Error); } ConsoleU.WriteLine("Searching directory...", Palette.Wait); // target is a directory DirectoryInfo dir = new DirectoryInfo(target); FileInfo[] files = dir.GetFiles(searchParams); ConsoleU.WriteLine($"Found { files.Length } files. Would you like to write to the top of them?", Palette.Question); int changed = 0; int failed = 0; if (consoleManager.InputYesNo()) { for (int i = 0; i < files.Length; i++) { FileInfo file = files[i]; try { string readAll = File.ReadAllText(file.FullName); readAll += line; File.Delete(file.FullName); File.WriteAllText(file.FullName, readAll); changed++; } catch { ConsoleU.WriteLine($"Failed writing to { file.Name } ", Palette.Error); failed++; } } } ConsoleU.WriteLine($"Changed { changed } files", Palette.Success); ConsoleU.WriteLine($"Failed to change { failed } files", failed == 0 ? Palette.Success : Palette.Error); ConsoleS.ReadLine(); return(CommandFeedback.Success); }
public override CommandFeedback Execute(string[] args) { if (args.Length < 3) { return(CommandFeedback.WrongNumberOfArguments); } string target = args[1]; string pattern = args[2]; if (Directory.Exists(target)) { ConsoleU.WriteLine("Searching directory...", Palette.Wait); // target is a directory DirectoryInfo dir = new DirectoryInfo(target); FileInfo[] files = dir.GetFiles(pattern); ConsoleU.WriteLine($"Found { files.Length } files", Palette.Feedback); ConsoleU.WriteLine($"Command", Palette.Question); for (; ;) { string command = ConsoleS.ReadLine(); bool exit = false; switch (command) { case "3dsmaximport": { StringBuilder namesBuilder = new StringBuilder(); for (int i = 0; i < files.Length; i++) { string file = files[i].FullName; namesBuilder.AppendLine("ImportFile \"" + file + "\" #noPrompt"); } string str = namesBuilder.ToString(); Clipboard.SetText(namesBuilder.ToString()); ConsoleU.WriteLine($"Setting to clipboard { str } ", Palette.Feedback); } break; case "clipboard": { StringBuilder namesBuilder = new StringBuilder(); for (int i = 0; i < files.Length; i++) { string file = files[i].FullName; namesBuilder.AppendLine(file); } string str = namesBuilder.ToString(); Clipboard.SetText(str); ConsoleU.WriteLine($"Setting to clipboard { str } ", Palette.Feedback); } break; case "clipboardquotes": { StringBuilder namesBuilder = new StringBuilder(); for (int i = 0; i < files.Length; i++) { string file = files[i].FullName; namesBuilder.AppendLine('"' + file + '"'); } string str = namesBuilder.ToString(); Clipboard.SetText(str); ConsoleU.WriteLine($"Setting to clipboard { str } ", Palette.Feedback); } break; case "copy": StringCollection fileList = new StringCollection(); for (int i = 0; i < files.Length; i++) { string file = files[i].FullName; ConsoleU.WriteLine($"Setting to clipboard { file } ", Palette.Feedback); fileList.Add(file); } Clipboard.SetFileDropList(fileList); break; case "exit": exit = true; break; } if (exit) { break; } } } else { } return(CommandFeedback.Success); }