clean keep amount added to dest
This commit is contained in:
parent
190582b6dc
commit
64e4cb3c1a
|
@ -23,7 +23,7 @@ namespace MxB
|
||||||
public bool inc { get; set; }
|
public bool inc { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string version = "1.5.0";
|
public static string version = "1.6.0";
|
||||||
public static string zipname = "";
|
public static string zipname = "";
|
||||||
public static string zippath = "";
|
public static string zippath = "";
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
|
@ -96,6 +96,7 @@ namespace MxB
|
||||||
{
|
{
|
||||||
int sc = j.source.Count;
|
int sc = j.source.Count;
|
||||||
int scur = 1;
|
int scur = 1;
|
||||||
|
if (!Directory.Exists($@"tmp\{j.name}")) { Directory.CreateDirectory($@"tmp\{j.name}"); }
|
||||||
foreach (var js in j.source)
|
foreach (var js in j.source)
|
||||||
{
|
{
|
||||||
var sourceType = js.Split('|')[0];
|
var sourceType = js.Split('|')[0];
|
||||||
|
@ -105,8 +106,7 @@ namespace MxB
|
||||||
if (sourceType == "D") { DirectoryInfo dInfo = new DirectoryInfo(sourcePath); sizeOfDir = DirectorySize(dInfo, true); }
|
if (sourceType == "D") { DirectoryInfo dInfo = new DirectoryInfo(sourcePath); sizeOfDir = DirectorySize(dInfo, true); }
|
||||||
if (sourceType == "F") { FileInfo fInfo = new FileInfo(sourcePath); sizeOfDir = FileSize(fInfo); }
|
if (sourceType == "F") { FileInfo fInfo = new FileInfo(sourcePath); sizeOfDir = FileSize(fInfo); }
|
||||||
|
|
||||||
Utilities.Message.CMW($"[{j.name}][{sourceType}][{((double)sizeOfDir) / (1024 * 1024):N2}MB]{scur}/{sc}] Processing...", true, 1);
|
Utilities.Message.CMW($"[{j.name}][{sourceType}][{((double)sizeOfDir) / (1024 * 1024):N2}MB]{scur}/{sc}] Processing...", true, 1);
|
||||||
if (!Directory.Exists($@"tmp\{j.name}")) { Directory.CreateDirectory($@"tmp\{j.name}"); }
|
|
||||||
switch (sourceType)
|
switch (sourceType)
|
||||||
{
|
{
|
||||||
case "D":
|
case "D":
|
||||||
|
@ -127,21 +127,22 @@ namespace MxB
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
scur++;
|
scur++;
|
||||||
}
|
}
|
||||||
foreach (var dest in j.destination)
|
foreach (var dest in j.destination)
|
||||||
{
|
{
|
||||||
if (!Directory.Exists($@"{dest}\{j.name}")) { Directory.CreateDirectory($@"{dest}\{j.name}"); }
|
var deststr = dest.Split('|')[1];
|
||||||
|
if (!Directory.Exists($@"{deststr}\{j.name}")) { Directory.CreateDirectory($@"{deststr}\{j.name}"); }
|
||||||
if (j.zip)
|
if (j.zip)
|
||||||
{
|
{
|
||||||
CreateZip(j.name, day, hour, lp);
|
CreateZip(j.name, day, hour, lp);
|
||||||
File.Copy($@"tmp\{j.name}-D{day}-H{hour}.zip", $@"{dest}\{j.name}\{j.name}-D{day}-H{hour}-M{minute}.zip");
|
File.Copy($@"tmp\{j.name}-D{day}-H{hour}.zip", $@"{deststr}\{j.name}\{j.name}-D{day}-H{hour}-M{minute}.zip");
|
||||||
ClearFolder($@"tmp");
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CopyFilesRecursively($@"tmp\{j.name}", dest, null);
|
CopyFilesRecursively($@"tmp\{j.name}", deststr, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
ClearFolder($@"tmp");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -149,15 +150,15 @@ namespace MxB
|
||||||
}
|
}
|
||||||
} else if (args.Contains("--clean"))
|
} else if (args.Contains("--clean"))
|
||||||
{
|
{
|
||||||
int cc = Convert.ToInt32(args[2]);
|
|
||||||
string jnarg = args[1];
|
string jnarg = args[1];
|
||||||
RootJobs j = JsonConvert.DeserializeObject<RootJobs>(File.ReadAllText($@"{lp}\jobs\{jnarg}.json"));
|
RootJobs j = JsonConvert.DeserializeObject<RootJobs>(File.ReadAllText($@"{lp}\jobs\{jnarg}.json"));
|
||||||
Utilities.Message.CMW($"[{j.name}] Cleaning...", true, 1);
|
Utilities.Message.CMW($"[{j.name}] Cleaning...", true, 1);
|
||||||
foreach (var d in j.destination)
|
foreach (var d in j.destination)
|
||||||
{
|
{
|
||||||
|
int destkeep = Convert.ToInt32(d.Split('|')[0]);
|
||||||
var directory = new DirectoryInfo(d);
|
var directory = new DirectoryInfo(d);
|
||||||
var query = directory.GetFiles("*.zip", SearchOption.AllDirectories);
|
var query = directory.GetFiles("*.zip", SearchOption.AllDirectories);
|
||||||
foreach (var file in query.OrderBy(file => file.CreationTime).Skip(cc))
|
foreach (var file in query.OrderByDescending(file => file.CreationTime).Skip(destkeep))
|
||||||
{
|
{
|
||||||
file.Delete();
|
file.Delete();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue