1

我正在尝试使用echo. 但是,有一行包含特殊字符,我无法弄清楚如何编写。

我有以下行:

echo >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" >> "c:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\OrchestrationCleanUp.bat"

但是写入目标文件的是:

 "C:\Windows\system32\cacls.exe" "C:\Windows\system32\config\system" 

它应该是:

>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

我试过把它放在双引号中。

我试过把 ^ 放在 >

我试过把它放在一个变量中并用双引号转义它

我试过把它放在一个变量中并使用!在每一端

我试过把它放在一个变量中,并在变量名的末尾使用 : 。

4

1 回答 1

5

特殊字符需要转义,^符号%必须加倍。试试这个:

直接后回声停止某些前导字符的(问题。

echo(^>nul 2^>^&1 "%%SYSTEMROOT%%\system32\cacls.exe" "%%SYSTEMROOT%%\system32\config\system" >> "c:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\OrchestrationCleanUp.bat"
于 2013-10-21T05:47:18.970 回答