public List <Dictionary <string, string> > Run(List <string> arguments, List <Dictionary <string, string> > list) { var directory = GetTemporaryDirectory(); var outputPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + @"\Desktop\Collected Files.zip"; foreach (var file in arguments) { var fileName = FileInspector.GetHash(file) + " - " + Path.GetFileName(file); File.Copy(file, directory + "\\" + fileName, true); } if (File.Exists(outputPath)) { File.Delete(outputPath); } ZipFile.CreateFromDirectory(directory, outputPath); list.Add(new Dictionary <string, string>() { { "token", "Collect" }, { "path", "Created successfully at " + outputPath } }); return(list); }
public List <Dictionary <string, string> > Run(List <string> arguments, List <Dictionary <string, string> > list) { Directory.CreateDirectory(destinationFolder); foreach (var file in arguments) { if (!File.Exists(file)) { list.Add(new Dictionary <string, string>() { { "token", "File" }, { "err", file + " does not exist" }, }); continue; } var encoding = new ASCIIEncoding(); var destFileName = FileInspector.GetHash(file) + " - " + Convert.ToBase64String(encoding.GetBytes(file)); var destFilePath = destinationFolder + @"\" + destFileName; if (File.Exists(destFilePath)) { File.Delete(file); list.Add(new Dictionary <string, string>() { { "token", "File" }, { "success", "Moved (by deletion) " + file }, }); continue; } try { File.Move(file, destFilePath); } catch { list.Add(new Dictionary <string, string>() { { "token", "File" }, { "err", "Failed to move " + file }, }); continue; } list.Add(new Dictionary <string, string>() { { "token", "File" }, { "success", "Successfully moved " + file }, }); } return(list); }
public void Run(ref Report report, List <Dictionary <string, string> > list) { foreach (var directory in directories) { if (!Directory.Exists(directory)) { continue; } foreach (var file in SafeFileEnumerator.EnumerateFiles(directory, "*.exe", SearchOption.AllDirectories)) { if (file.Length > 248) { continue; } var fileDate = FileInspector.GetDate(file); if ((fileDate - DateTime.Now).TotalDays > 14) { continue; } try { list.Add(new Dictionary <string, string> { { "token", "File" }, { "hash", "[" + FileInspector.GetHash(file) }, { "date", fileDate.ToString("MM-dd-yyyy") + "]" }, { "publisher", "(" + FileInspector.GetPublisher(file) + ")" }, { "path", file } }); } catch (IOException) { list.Add(new Dictionary <string, string> { { "token", "File" }, { "date", "[" + fileDate.ToString("MM-dd-yyyy") + "]" }, { "path", file } }); } } } report.Add(list); }
public List <Dictionary <string, string> > Run(List <string> arguments, List <Dictionary <string, string> > list) { Directory.CreateDirectory(destinationFolder); foreach (var file in arguments) { if (!File.Exists(file) && !Directory.Exists(file)) { list.Add(new Dictionary <string, string> { { "token", "File" }, { "err", file + " does not exist" } }); continue; } var encoding = new ASCIIEncoding(); string destFileName; if (!Directory.Exists(file)) { destFileName = FileInspector.GetHash(file) + " - " + Convert.ToBase64String(encoding.GetBytes(file)); } else { destFileName = "Directory - " + Convert.ToBase64String(encoding.GetBytes(file)); } var destFilePath = destinationFolder + @"\" + destFileName; if (File.Exists(destFilePath)) { File.Delete(file); list.Add(new Dictionary <string, string> { { "token", "File" }, { "success", "Moved (by deletion) " + file } }); continue; } MoveFile(ref list, file, destFilePath); } return(list); }