diff --git a/.idea/.idea.OneDriveArchiver/.idea/contentModel.xml b/.idea/.idea.OneDriveArchiver/.idea/contentModel.xml index 75830ec..72c9390 100644 --- a/.idea/.idea.OneDriveArchiver/.idea/contentModel.xml +++ b/.idea/.idea.OneDriveArchiver/.idea/contentModel.xml @@ -9,7 +9,7 @@ - + diff --git a/.idea/.idea.OneDriveArchiver/.idea/workspace.xml b/.idea/.idea.OneDriveArchiver/.idea/workspace.xml index 8bab44b..e3aadf0 100644 --- a/.idea/.idea.OneDriveArchiver/.idea/workspace.xml +++ b/.idea/.idea.OneDriveArchiver/.idea/workspace.xml @@ -23,13 +23,29 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - @@ -69,18 +84,20 @@ - + + + - @@ -195,118 +222,143 @@ - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + + + + + @@ -325,29 +377,16 @@ file://$PROJECT_DIR$/OneDriveArchiver/Program.cs - 37 - + 11 + - - - - - file://$PROJECT_DIR$/OneDriveArchiver/Program.cs - 51 - - - - - - - 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 @@ false AnyCPU true + 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