删除网络共享上文件夹上的只读属性

时间:2011-07-20 17:33:16

标签: c# .net file c#-4.0 permissions

我遇到了一个真正让我失望的问题。

我有一个目录,当我转到属性窗口时,显示只读部分选中(不是一个完整的复选框,但是框已填满)。

所以我查看了目录并检查了所有文件,其中 none 具有只读属性。只有文件夹才有,只有部分文件夹。

我尝试了以下代码:

if (directoryInfo.Exists)
{
    try
    {
        directoryInfo.Attributes &= ~FileAttributes.ReadOnly;

        foreach (FileInfo f in directoryInfo.GetFiles())
        {
           f.IsReadOnly = false;
        }
    }
    catch (Exception e)
    {
        throw e;
    }
}

它仍然无效。我可以右键单击该文件夹并手动删除只读权限,但我需要才能在代码中执行此操作。代码执行但没有错误。

任何人都知道问题可能是什么?我唯一的猜测是因为该文件夹位于网络共享上(以\\ computer \ folder \ subfolder的形式),我可能需要特殊权限才能更改文件夹的权限?

请有人帮忙。

提前致谢

1 个答案:

答案 0 :(得分:1)

Windows内部使用

readonly on files ...如果你真的需要更改它,那么涉及一些工作(注册表和更改很多文件夹)...请参阅http://support.microsoft.com/kb/256614/en-us

为什么需要进行更改?

编辑 - 关于Powershell和TFS的一些信息:

http://codesmartnothard.com/ExecutingPowerShellScriptsOnRemoteMachinesWithTFS2010AndTeamDeploy2010.aspx

http://blogs.msdn.com/b/yao/archive/2011/06/15/tfs-integration-pack-and-scripting-using-powershell.aspx

或尝试使用文件夹中带有“attrib -r”的普通“批处理文件”(.bat)