2016-11-01 7 views
0

배치 파일 명령 내에 주석을 포함 할 수 있는지 궁금합니다. 특히, 내가 좋아하는 긴 SED 명령이 다음다중 행 명령의 배치 주석

@SED -r -e "s/.../.../"^ 
    -e "s/.../.../"^ 
    -e "s/.../.../"^ 
    fileName >outFileName 

내가 표시된대로 다음의 예에서 "-e"각 옵션에 코멘트를 추가하고 싶습니다 :

:: Option #1: At the end of the line 
@SED -r -e "s/.../.../"^ // First comment 
    -e "s/.../.../"^  // Second comment 
    -e "s/.../.../"^  // Third comment 
    fileName >outFileName 

:: Option #2: Between lines 
@SED -r 
    @REM First comment 
    -e "s/.../.../"^ 
    @REM Second comment 
    -e "s/.../.../"^ 
    @REM Third comment 
    -e "s/.../.../"^ 
    fileName >outFileName 

이것을 달성 할 방법이 있습니까?

+0

수 나오지 핸들 인라인 주석의 * NIX 버전? – SomethingDark

답변

5

시도해보십시오. 나는 sed가 없기 때문에 그냥 echo로 테스트했다.

@echo off 
:: Option #1: At the end of the line 
echo SED -r -e "s/.../.../" %= First comment =%^ 
    -e "s/.../.../" %= second comment =%^ 
    -e "s/.../.../" %= third comment =% 

:: Option #2: Between lines 
echo SED -r^ 
    %= First comment =%^ 
    -e "s/.../.../"^ 
    %= second comment =%^ 
    -e "s/.../.../"^ 
    %= third comment =%^ 
    -e "s/.../.../" 

pause 

출력

SED -r -e "s/.../.../"  -e "s/.../.../"  -e "s/.../.../" 
SED -r  -e "s/.../.../"  -e "s/.../.../"  -e "s/.../.../" 
Press any key to continue . . . 
+0

주석에'% '문자가 포함되어있는 경우이 방법이 있습니까? 나는 아마도 지연된 변수 확장을 사용 가능하게했기 때문에 주석을!! = My Comment % =!'로 변경할 수 있다고 생각했지만 작동하지 않는 것 같습니다. –

+0

@JeffG, correct. Delayed Expansion은 코드 행을 실행할 때 변수를 확장합니다. 백분율 변수는 코드가 실행되기 전에 확장됩니다. %를 벗어나는 유일한 방법은 두 배로하는 것입니다. 그러나이 경우에 그것은 당신을 위해 일하지 않을 것입니다. – Squashman

+0

결과 변수 각각이 정의되지 않는 한 주석에서 괄호를 두 배로 늘리는 것이 효과가있는 것처럼 보입니다. 예를 들어'% = %%는 존재하지 않습니다. %% = %','%는 존재하지 않습니다 %', 또는 % = %'가 정의되지 않았기 때문에 유효합니다. 그러나'% = %% windir %% = %'는'% windir % '가 정의되었으므로 유효하지 않습니다. –