From 168b8b4465a76a337fb56220da143b3942e255e2 Mon Sep 17 00:00:00 2001 From: Kris Borowinski Date: Mon, 18 Sep 2017 17:14:23 +0200 Subject: [PATCH 1/2] Don't throw error when 'Force' switch is specified This fixes error when 'Copy-Item2 -Force' would not overwrite existing files --- NTFSSecurity/ItemCmdlets/CopyItem2.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/NTFSSecurity/ItemCmdlets/CopyItem2.cs b/NTFSSecurity/ItemCmdlets/CopyItem2.cs index 9f6bfe6..79d4067 100644 --- a/NTFSSecurity/ItemCmdlets/CopyItem2.cs +++ b/NTFSSecurity/ItemCmdlets/CopyItem2.cs @@ -85,7 +85,7 @@ namespace NTFSSecurity actualDestination = destination; } - if (File.Exists(actualDestination)) + if (!force & File.Exists(actualDestination)) { WriteError(new ErrorRecord(new AlreadyExistsException(), "DestinationFileAlreadyExists", ErrorCategory.ResourceExists, actualDestination)); return; @@ -129,4 +129,4 @@ namespace NTFSSecurity base.EndProcessing(); } } -} \ No newline at end of file +} From d5f552df8cb60f6f3c7b554445da1b7631fa326f Mon Sep 17 00:00:00 2001 From: Kris Borowinski Date: Tue, 19 Sep 2017 09:29:33 +0200 Subject: [PATCH 2/2] Don't throw error when 'Force' switch is specified This fixes error when 'Move-Item2 -Force' would not overwrite existing files --- NTFSSecurity/ItemCmdlets/MoveItem2.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/NTFSSecurity/ItemCmdlets/MoveItem2.cs b/NTFSSecurity/ItemCmdlets/MoveItem2.cs index aa582e3..4e93b51 100644 --- a/NTFSSecurity/ItemCmdlets/MoveItem2.cs +++ b/NTFSSecurity/ItemCmdlets/MoveItem2.cs @@ -85,7 +85,7 @@ namespace NTFSSecurity actualDestination = destination; } - if (File.Exists(actualDestination)) + if (!force & File.Exists(actualDestination)) { WriteError(new ErrorRecord(new AlreadyExistsException(), "DestinationFileAlreadyExists", ErrorCategory.ResourceExists, actualDestination)); return; @@ -97,7 +97,7 @@ namespace NTFSSecurity { if (ShouldProcess(resolvedPath, "Move File")) { - ((FileInfo)item).MoveTo(actualDestination, MoveOptions.CopyAllowed, PathFormat.RelativePath); + ((FileInfo)item).MoveTo(actualDestination, force ? MoveOptions.ReplaceExisting : MoveOptions.CopyAllowed, PathFormat.RelativePath); WriteVerbose(string.Format("File '{0}' moved to '{0}'", resolvedPath, destination)); } } @@ -105,7 +105,7 @@ namespace NTFSSecurity { if (ShouldProcess(resolvedPath, "Move Directory")) { - ((DirectoryInfo)item).MoveTo(actualDestination, MoveOptions.CopyAllowed, PathFormat.RelativePath); + ((DirectoryInfo)item).MoveTo(actualDestination, force ? MoveOptions.ReplaceExisting : MoveOptions.CopyAllowed, PathFormat.RelativePath); WriteVerbose(string.Format("Directory '{0}' moved to '{0}'", resolvedPath, destination)); } }