diff --git a/OneDriveArchiver/IoHelper.cs b/OneDriveArchiver/IoHelper.cs
index c809a2b..0a9c009 100644
--- a/OneDriveArchiver/IoHelper.cs
+++ b/OneDriveArchiver/IoHelper.cs
@@ -91,14 +91,19 @@ namespace OneDriveArchiver
/// Current directory for processing
/// Name of application
/// Target archiving path to store files
- public static void ProcessFilesForDirectory(string currentDirectoryWithFiles, string appName, string targetPath)
+ /// Recursive processing needed or not
+ public static void ProcessFilesForDirectory(string currentDirectoryWithFiles, string appName, string targetPath,
+ bool needsRecursion)
{
- var containedDirectories = Directory.GetDirectories(currentDirectoryWithFiles);
- foreach (var containedDirectory in containedDirectories)
+ if (needsRecursion)
{
- ProcessFilesForDirectory(containedDirectory, appName, targetPath);
+ var containedDirectories = Directory.GetDirectories(currentDirectoryWithFiles);
+ foreach (var containedDirectory in containedDirectories)
+ {
+ ProcessFilesForDirectory(containedDirectory, appName, targetPath, needsRecursion);
+ }
}
-
+
// process the files in the directory (if all directories have been traversed...
var filesToProcess = Directory.GetFiles(currentDirectoryWithFiles);
if (filesToProcess.Length > 1)
diff --git a/OneDriveArchiver/OneDriveArchiver.csproj b/OneDriveArchiver/OneDriveArchiver.csproj
index 49611b9..346a19d 100644
--- a/OneDriveArchiver/OneDriveArchiver.csproj
+++ b/OneDriveArchiver/OneDriveArchiver.csproj
@@ -11,6 +11,7 @@
falseAnyCPUtrue
+ full
diff --git a/OneDriveArchiver/Program.cs b/OneDriveArchiver/Program.cs
index 0cddabd..10f5fd8 100644
--- a/OneDriveArchiver/Program.cs
+++ b/OneDriveArchiver/Program.cs
@@ -36,13 +36,24 @@ namespace OneDriveArchiver
{
// normal processing...
Console.WriteLine($"{appName}: starting up...");
+
+ var needsRecursion = false;
// set target path
var targetPath = args.Length == 1 ? Path.GetFullPath(".") : args[1];
var startUpTime = DateTime.Now;
+ // check if source directory is equal to target. In that case
+ // we do not need any recursion at all
+ var sourcePath = Path.GetFullPath(args[0]);
+
+ if (sourcePath != targetPath)
+ {
+ needsRecursion = true;
+ }
+
// process the base directory, plus possible containing directories recursively
- IoHelper.ProcessFilesForDirectory(args[0], appName, targetPath);
+ IoHelper.ProcessFilesForDirectory(args[0], appName, targetPath, needsRecursion);
var endProcessingTime = DateTime.Now;
var processingTime = endProcessingTime - startUpTime;
diff --git a/OneDriveArchiver/bin/Debug/netcoreapp3.1/OneDriveArchiver.dll b/OneDriveArchiver/bin/Debug/netcoreapp3.1/OneDriveArchiver.dll
index 1fae0c4..6581e63 100644
Binary files a/OneDriveArchiver/bin/Debug/netcoreapp3.1/OneDriveArchiver.dll and b/OneDriveArchiver/bin/Debug/netcoreapp3.1/OneDriveArchiver.dll differ
diff --git a/OneDriveArchiver/bin/Debug/netcoreapp3.1/OneDriveArchiver.pdb b/OneDriveArchiver/bin/Debug/netcoreapp3.1/OneDriveArchiver.pdb
index c314879..0ebbd14 100644
Binary files a/OneDriveArchiver/bin/Debug/netcoreapp3.1/OneDriveArchiver.pdb and b/OneDriveArchiver/bin/Debug/netcoreapp3.1/OneDriveArchiver.pdb differ
diff --git a/OneDriveArchiver/bin/Release/netcoreapp3.1/OneDriveArchiver.dll b/OneDriveArchiver/bin/Release/netcoreapp3.1/OneDriveArchiver.dll
index 309b947..85ad1f7 100644
Binary files a/OneDriveArchiver/bin/Release/netcoreapp3.1/OneDriveArchiver.dll and b/OneDriveArchiver/bin/Release/netcoreapp3.1/OneDriveArchiver.dll differ
diff --git a/OneDriveArchiver/bin/Release/netcoreapp3.1/OneDriveArchiver.pdb b/OneDriveArchiver/bin/Release/netcoreapp3.1/OneDriveArchiver.pdb
index 6640dae..47744b6 100644
Binary files a/OneDriveArchiver/bin/Release/netcoreapp3.1/OneDriveArchiver.pdb and b/OneDriveArchiver/bin/Release/netcoreapp3.1/OneDriveArchiver.pdb differ
diff --git a/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/OneDriveArchiver.dll b/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/OneDriveArchiver.dll
index 2ff1b63..3377d2f 100644
Binary files a/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/OneDriveArchiver.dll and b/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/OneDriveArchiver.dll differ
diff --git a/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/OneDriveArchiver.pdb b/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/OneDriveArchiver.pdb
index f5d56f7..0966af5 100644
Binary files a/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/OneDriveArchiver.pdb and b/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/OneDriveArchiver.pdb differ
diff --git a/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/publish/OneDriveArchiver.exe b/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/publish/OneDriveArchiver.exe
index 99e5761..ffffed9 100644
Binary files a/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/publish/OneDriveArchiver.exe and b/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/publish/OneDriveArchiver.exe differ
diff --git a/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/publish/OneDriveArchiver.pdb b/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/publish/OneDriveArchiver.pdb
index f5d56f7..0966af5 100644
Binary files a/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/publish/OneDriveArchiver.pdb and b/OneDriveArchiver/bin/Release/netcoreapp3.1/win-x64/publish/OneDriveArchiver.pdb differ
diff --git a/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.AssemblyInfo.cs b/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.AssemblyInfo.cs
index 530299f..bc9f69e 100644
--- a/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.AssemblyInfo.cs
+++ b/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.AssemblyInfo.cs
@@ -1,7 +1,6 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -19,5 +18,5 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyTitleAttribute("OneDriveArchiver")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0")]
-// Generated by the MSBuild WriteCodeFragment class.
+// Von der MSBuild WriteCodeFragment-Klasse generiert.
diff --git a/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.assets.cache b/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.assets.cache
index 6164ad3..56bd0f0 100644
Binary files a/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.assets.cache and b/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.assets.cache differ
diff --git a/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.csprojAssemblyReference.cache b/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.csprojAssemblyReference.cache
index b5cc743..21eec1d 100644
Binary files a/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.csprojAssemblyReference.cache and b/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.csprojAssemblyReference.cache differ
diff --git a/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.dll b/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.dll
index 1fae0c4..6581e63 100644
Binary files a/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.dll and b/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.dll differ
diff --git a/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.pdb b/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.pdb
index c314879..0ebbd14 100644
Binary files a/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.pdb and b/OneDriveArchiver/obj/Debug/netcoreapp3.1/OneDriveArchiver.pdb differ
diff --git a/OneDriveArchiver/obj/Release/netcoreapp3.1/OneDriveArchiver.csprojAssemblyReference.cache b/OneDriveArchiver/obj/Release/netcoreapp3.1/OneDriveArchiver.csprojAssemblyReference.cache
index f9a61ec..475e9f2 100644
Binary files a/OneDriveArchiver/obj/Release/netcoreapp3.1/OneDriveArchiver.csprojAssemblyReference.cache and b/OneDriveArchiver/obj/Release/netcoreapp3.1/OneDriveArchiver.csprojAssemblyReference.cache differ
diff --git a/OneDriveArchiver/obj/Release/netcoreapp3.1/OneDriveArchiver.dll b/OneDriveArchiver/obj/Release/netcoreapp3.1/OneDriveArchiver.dll
index 309b947..85ad1f7 100644
Binary files a/OneDriveArchiver/obj/Release/netcoreapp3.1/OneDriveArchiver.dll and b/OneDriveArchiver/obj/Release/netcoreapp3.1/OneDriveArchiver.dll differ
diff --git a/OneDriveArchiver/obj/Release/netcoreapp3.1/OneDriveArchiver.pdb b/OneDriveArchiver/obj/Release/netcoreapp3.1/OneDriveArchiver.pdb
index 6640dae..47744b6 100644
Binary files a/OneDriveArchiver/obj/Release/netcoreapp3.1/OneDriveArchiver.pdb and b/OneDriveArchiver/obj/Release/netcoreapp3.1/OneDriveArchiver.pdb differ
diff --git a/OneDriveArchiver/obj/Release/netcoreapp3.1/win-x64/OneDriveArchiver.dll b/OneDriveArchiver/obj/Release/netcoreapp3.1/win-x64/OneDriveArchiver.dll
index 2ff1b63..3377d2f 100644
Binary files a/OneDriveArchiver/obj/Release/netcoreapp3.1/win-x64/OneDriveArchiver.dll and b/OneDriveArchiver/obj/Release/netcoreapp3.1/win-x64/OneDriveArchiver.dll differ
diff --git a/OneDriveArchiver/obj/Release/netcoreapp3.1/win-x64/OneDriveArchiver.pdb b/OneDriveArchiver/obj/Release/netcoreapp3.1/win-x64/OneDriveArchiver.pdb
index f5d56f7..0966af5 100644
Binary files a/OneDriveArchiver/obj/Release/netcoreapp3.1/win-x64/OneDriveArchiver.pdb and b/OneDriveArchiver/obj/Release/netcoreapp3.1/win-x64/OneDriveArchiver.pdb differ
diff --git a/OneDriveArchiver/obj/Release/netcoreapp3.1/win-x64/linked/OneDriveArchiver.dll b/OneDriveArchiver/obj/Release/netcoreapp3.1/win-x64/linked/OneDriveArchiver.dll
index b5281e3..bbf54a2 100644
Binary files a/OneDriveArchiver/obj/Release/netcoreapp3.1/win-x64/linked/OneDriveArchiver.dll and b/OneDriveArchiver/obj/Release/netcoreapp3.1/win-x64/linked/OneDriveArchiver.dll differ
diff --git a/OneDriveArchiver/obj/rider.project.restore.info b/OneDriveArchiver/obj/rider.project.restore.info
index 33ce555..037c5ee 100644
--- a/OneDriveArchiver/obj/rider.project.restore.info
+++ b/OneDriveArchiver/obj/rider.project.restore.info
@@ -1 +1 @@
-15980079412695528
\ No newline at end of file
+16013791295246375
\ No newline at end of file