我正在尝试解决文件夹上所有者的问题。我正在使用SetACL。我可以使用cmd并使参数有效,但是当我尝试将其添加到程序中时...它不起作用。我已经设定了一个断点以确保参数传递正确并且是正确的。欢迎任何帮助。C#命令行SetACL
Process p = new Process();
if (Wow.Is64BitOperatingSystem == true)
{
p.StartInfo.FileName = "SetACLx64.exe";
}
else
{
p.StartInfo.FileName = "SetACLx86.exe";
}
string command = @" -on """ + path +
@""" -ot file -actn setprot -op ""dacl:np;sacl:nc"" -actn setowner -ownr ""n:" + account + @";"" -rec cont_obj";
p.StartInfo.Arguments = command;
p.Start();
我已经得到了这个工作在同一个程序中的注册表问题没有麻烦。只是不能让这个例子工作。我试图设置的文件夹是%temp%
文件夹。
是您的进程(与调试时)运行的管理? – 2011-03-07 09:39:34
是的。我可以用其他文件夹来完成,而不是临时文件夹 – 2011-03-07 09:58:59
如果你的语法正确,它应该可以工作。尝试通过批处理文件来做到这一点。 'Process.Start(“test.bat”,“%temp%”);'并使用%1接收bat文件中的第一个参数。 – 2011-03-07 10:03:54