使用C#设置文件夹权限 - 将CreateObject(“Wscript.Shell”)从vb转换为C#

时间:2008-12-17 11:56:41

标签: c# vb.net

我想知道如何将此vb脚本转换为C#

Dim strFolder As String
Dim objShell As Object

strFolder = "C:\zz"

Set objShell = CreateObject("Wscript.Shell")

objShell.Run "%COMSPEC% /c Echo Y| cacls " & _
                 strFolder & _
                 " /t /c /g everyone:F ", 2, True

我要做的是在用户C:\驱动器上新创建的文件夹上为“Everyone”设置权限。

我正在使用Visual Studio,.Net 1.1

感谢。 伊恩

3 个答案:

答案 0 :(得分:1)

不幸的是升级是不可能的 - 我为一家大公司工作,所以意味着更新大量人员 - 这将是一项使命......

但是 - 创建一个流程很有效!

System.Diagnostics.Process meProc = System.Diagnostics.Process.Start ("cmd.exe", " /c echo y| cacls C:\\zzz /t /c /g everyone:F");

感谢你们的帮助。

答案 1 :(得分:0)

升级到新版本是不可能的? .NET 2.0在System.Security.AccessControl命名空间中引入了类来处理这个问题。如果它真的不可能并且您只需要执行这一个命令,那么您可能需要创建一个Process并在其中执行cacls命令。

答案 2 :(得分:0)

这也是使用“Microsoft.Win32.Security”库...

我没有SecuredObject

SecuredObject sec = new SecuredObject("C:\\", SecuredObjectType.FileObject);