Takeown /f D:Windows /r /D Y
Takeown /f "D:Program Files" /r /D Y
Takeown /f "D:Program Files(x86)" /r /D Y
Attrib -s -r -h D:ProgramData
Takeown /f D:ProgramData /r /D Y
Icacls D:Windows /grant %Username%:F /t /c
Icacls "D:Program Files" /grant %Username%:F /t /c
Icacls "D:Program Files(x86)" /grant %Username%:F /t /c
Icacls D:ProgramData /grant %Username%:F /t /c
我希望以后能够以字符串的形式访问每个命令,例如:
"Icacls "D:Program Files(x86)" /grant %Username%:F /t /c"
我可以制作:
string[] params = new string[] {....};
但是我搞砸了目录,因为其中一些必须在逗号之间,例如:"D:\Program Files"
到目前为止,我尝试了这个:
string[] commands = new string[] {
"Takeown /f D:\Windows /r /D Y", "Takeown /f ""D:Program Files"" /r /D Y"};
但是得到错误部分:"D:\程序文件"\/r/D Y"
语法错误,","预期 无法识别的转义序列 应出现错误"," 无法识别的转义序列
由于双引号与字符串标记冲突,因此需要对其进行转义。您可以通过在前面添加来转义双引号(以及任何其他特殊符号)。例如:
var str = "foo "bar""
.
在您的上下文中,如下所示: string[] parameters = new string[] { "Icacls "D:Program Files(x86)" /grant %Username%:F /t /c" };
附言 params
是保留关键字,不能用作变量名。