2013-10-21 62 views
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" 

我試圖把它用雙引號。

我試圖把^在>

我試圖把它放在一個變量,並用雙引號

我試圖把它放在一個變量,並用它逃離眼前!在每一端

我試圖把它在一個變量和使用:在變量名的末尾。

回答

3

特殊字符需要加上^%才能加倍。試試這個:

(回聲停止與一些主角的問題後直接。

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

那是極好的。謝謝。 –

相關問題