2013-10-21 3 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

우수합니다. 고맙습니다. –

관련 문제