2016-11-01 3 views
0

Ich frage mich, ob es möglich ist, einen Kommentar innerhalb eines Batchdateibefehls zu haben. Genauer gesagt, ich habe einen langen SED Befehl wie folgt aus:Stapelkommentar im mehrzeiligen Befehl

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

Ich mag einen Kommentar zu jedem der „-en“ Optionen hinzuzufügen, wie in den folgenden Beispielen angegeben:

:: 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 

Gibt es einen Weg, dies zu erreichen?

+0

Kann die * NIX-Version von sed Griff Inline-Kommentare? – SomethingDark

Antwort

5

Probieren Sie es aus. Ich habe nicht sed, also habe ich gerade mit echo getestet.

@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 

Ausgabe

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

Gibt es eine Möglichkeit, dies zu tun, wenn der Kommentar das '%' Zeichen enthält? Ich dachte, vielleicht könnte ich den Kommentar zu '! = My Comment% =!' Ändern, da ich die verzögerte Variablenerweiterung aktiviert habe, aber das scheint nicht zu funktionieren. –

+0

@ JeffG, richtig. Verzögerte Erweiterung erweitert Variablen, wenn sie die Codezeile ausführt. Prozentuale Variablen werden vor der Ausführung des Codes erweitert. Die einzige Möglichkeit, einem% zu entkommen, besteht darin, es zu verdoppeln. Aber in diesem Fall wird das nicht für Sie funktionieren. – Squashman

+0

Verdoppelung der Klammern in den Kommentaren scheint zu funktionieren, solange jede der resultierenden Variablen nicht definiert ist. Zum Beispiel:% = %% existiert nicht %% =% 'ist gültig, da keiner von%%%,% nicht vorhanden%' oder '% =%' definiert ist. "% = %% windir %% =%" ist jedoch nicht gültig, da% windir% definiert ist. –