如何在启用继承的情况下PS Move-Item?

我正在使用此命令将NuGet软件包移动到可能的本地网络文件夹中

move-Item xyz.nupkg -Dest $env:nugetsDir

我有一个问题,该文件未从目标文件夹继承权限,并且我的朋友在尝试使用我的软件包时遇到“拒绝访问”错误。 用鼠标手动移动文件时,不会发生此问题。

yuduotianguang 回答:如何在启用继承的情况下PS Move-Item?

我发现Robocopy不直观,因此我基于this solution创建了自定义程序。

using System.IO;
using cnc.console.options;
using System.Security.AccessControl;

namespace FilesMove {
    class Program {

        //...

        static void Main(string[] args) {   
            ops.parseArguments(args);
            var src = ops.get<SourceOption>(0);
            var dst = ops.get<DestinationOption>(0);
            var dstFile = Path.Combine(dst,Path.GetFileName(src));
            File.Move(src,dstFile);

            if (ops.isSet<InheritPermissionsOption>()) {
                var outAcc = new FileSecurity();
                outAcc.SetAccessRuleProtection(false,false);
                File.SetAccessControl(dstFile,outAcc);
            }
        }

    }
}
本文链接:https://www.f2er.com/2778060.html

大家都在问