我怎样才能创建一个所有这些命令的字符串数组


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 是保留关键字,不能用作变量名。

相关内容

最新更新