ฉันจะสะท้อนบรรทัดใหม่ในไฟล์แบตช์ได้อย่างไร


642

คุณจะแทรกบรรทัดใหม่จากเอาต์พุตไฟล์แบตช์ได้อย่างไร

ฉันต้องการทำสิ่งที่ชอบ:

echo hello\nworld

ซึ่งจะส่งออก:

hello
world

6
มามีประโยชน์สำหรับฉัน ฉันต้องทำเสียงก้อง \ n \ n | my_app.exe ในสคริปต์ ฉันทำแล้ว (echo. && echo.) | my_app.exe
Vignesh

2
วิธีการที่ง่าย "รหัสเริ่มต้น:"> echo hello & echo world จะให้สิ่งที่คุณต้องการ
prudviraj

1
คุณสามารถแทรก ascii chr (255) ที่มองไม่เห็นในบรรทัดแยกซึ่งจะบังคับให้ขึ้นบรรทัดใหม่ที่ว่างเปล่า กดปุ่ม [alt] ค้างไว้แล้วกด 255 บนปุ่มกด ส่วนนี้จะแทรก chr (255) ซึ่งเป็นช่องว่าง นั่นคือ " echo (alt + 255) " คุณสามารถใช้ปุ่มกดได้ไม่ใช่ตัวเลขที่ด้านบนของแป้นพิมพ์ querty!
jwzumwalt

เช่นเดียวกับครึ่งหนึ่งของการซ่อมแซมคอมพิวเตอร์เสียบในและเปลี่ยนมันในครึ่งหนึ่งของการพัฒนาซอฟต์แวร์เป็นสิ่งที่ผมเรียกวิศวกรรมพื้นที่ เราต้องการบรรทัดว่างของเรา
Bob Stein

แล้วเรื่องนี้ล่ะ? echo Yes&echo No
scientist_7

คำตอบ:


462

echo hello & echo.world

ซึ่งหมายความว่าคุณสามารถกำหนดเป็นค่าคงที่สำหรับการขึ้นบรรทัดใหม่ได้& echo.\n


43
ตัวอย่างไม่จำเป็นต้องมีช่วงเวลา แต่คุณจำเป็นต้องใช้หนึ่งเพื่อสะท้อนบรรทัดว่างเปล่า:echo. && echo hello && echo. && echo world
แมตต์ wilkie

4
คุณสามารถทำสิ่งนี้ด้วยเสียงสะท้อนเดียวเพื่อที่จะสามารถเปลี่ยนเส้นทางไปยังไฟล์ได้หรือไม่?
Shahbaz

46
@Shahbaz -$ (echo Hello && echo World) > ./File.txt
Nathan JB

25
ช่วงเวลาใน "echo" ไม่เคยหยุดที่จะทำให้ฉันประหลาดใจ มันเก่ามากและฉันก็ยังลืมเสมอว่าจุดต้องต่อกันอย่างเคร่งครัดกับชื่อคำสั่งโดยไม่มีช่องว่างระหว่าง ไม่มีข้อผิดพลาดในโพสต์ของคุณฉันกำลังเขียนสิ่งนี้เป็นตัวเตือน: "echo" ! = "echo." !
quetzalcoatl

5
@quetzalcoatl มันถึงกับเป็นคนแปลกหน้า ตัวละครอื่น ๆ นอกเหนือจากจุดทำงานเช่นกัน SS64 กล่าวว่าไวยากรณ์ที่ดีกว่าecho(สำหรับการปรับปรุงประสิทธิภาพ (ยังไม่มีพื้นที่ใจคุณ) อภิปรายเพิ่มเติมเกี่ยวกับตัวละครอื่น ๆ และข้อดี / ข้อบกพร่องของพวกเขาที่ECHO ล้มเหลวในการให้ข้อความหรือบรรทัดว่าง - แทนที่จะใช้ ECHO /
matt wilkie

558

ใช้:

echo hello
echo.
echo world

16
เป็นไปได้หรือไม่ในขณะที่ให้สตริงภายในคำสั่ง echo เดียว?
Brian R. Bondy

5
ทำไมคุณต้องทำด้วยคำสั่ง echo เดียว; อันตรายในการมีอื่นอยู่ที่ไหน
Rob

3
@ Rob ฉันเพิ่งเจอปัญหานี้และไม่มีงานเหล่านี้ คุณต้องสะท้อนในคำสั่งเดียวในตัวอย่างของฉัน ฉันกำลังสร้างไฟล์เท็กซัสจาก HTML และสร้าง Makefile โดยใช้echo "Makefile contents (which has \n)" > Makefileกับ echos หลายรายการมันจะใช้งานไม่ได้
Shahbaz

3
ใช้ & (หรือ && &) เพื่อทำสิ่งเหล่านี้ในคำสั่งเดียว: ตัวอย่างเช่นการใส่ "hello \ nworld" ในไฟล์ txt:(echo hello & echo world) >> ./test.txt
เน็ดมาร์ติน

4
สำหรับเอาต์พุตแบบหลายบรรทัดไปยังไฟล์ทำไมไม่เพียงทำต่อไปนี้? แล้วก็echo line 1 > Makefile echo line 2 >> Makefileการใช้>>สาเหตุทำให้เอาต์พุตถูกผนวกเข้ากับไฟล์ซึ่งเป็นลักษณะการทำงานที่คุณต้องการสำหรับกรณีนี้อย่างแม่นยำ
dgnuff

141

ที่นี่คุณไปสร้างไฟล์. bat ด้วยดังต่อไปนี้:

@echo off
REM Creating a Newline variable (the two blank lines are required!)
set NLM=^


set NL=^^^%NLM%%NLM%^%NLM%%NLM%
REM Example Usage:
echo There should be a newline%NL%inserted here.

echo.
pause

คุณควรเห็นผลลัพธ์ดังนี้:

There should be a newline
inserted here.

Press any key to continue . . .

คุณต้องการรหัสระหว่างคำสั่ง REM เท่านั้น


51
น่าประทับใจมากคุณสามารถใช้เวลาอธิบายวิธีการตั้งค่าบรรทัด NL = ^^^% NLM %% NLM% ^% NLM %% NLM% ได้อย่างไร ฉันไม่สามารถเอาหัวของฉันไปรอบ ๆ มันได้
Andy Morris

8
@andy methinks ความคิดเห็น +8 รับประกันคำถาม: stackoverflow.com/questions/6379619/…
matt wilkie

82
นี่เป็นตัวอย่างที่ยอดเยี่ยมที่แสดงว่าชุดไฟล์ cmd.exe และ Windows เป็นบ้าอย่างสมบูรณ์!
mivk

12
หมายเหตุถึงตนเอง: บรรทัด "set NLM = ^" ต้องไม่มีอะไรหลังจาก CARET และต้องมี 2 ​​บรรทัดว่างหลังจากนั้น
mnemotronic

4
ดูคำตอบของฉันสำหรับวิธีที่ง่ายกว่า set nl=^&echo.จากนั้นเพียงแค่echo hello %nl% worldให้ผลเช่นเดียวกัน
coltonon

96

มีคุณสมบัติมาตรฐานecho:ในไฟล์ cmd / bat-to เพื่อเขียนบรรทัดว่างซึ่งจำลองบรรทัดใหม่ในเอาต์พุต cmd ของคุณ:

@echo off
@echo line1
@echo:
@echo line2

เอาต์พุตของการอ้างถึงไฟล์ cmd ด้านบน:

line1

line2

37
ในความเป็นจริงถ่านพิเศษที่ไม่ได้ใช้งานควรทำงาน ฉันมักจะสนับสนุนการใช้ / เพราะเครื่องหมายทับเป็นอักขระมาตรฐานสำหรับตัวเลือกคำสั่ง นอกจากนี้ฉันมักจะวิจารณ์การใช้จุดที่บางคนใน Microsoft โชคไม่ดีที่เลือกเพราะคำสั่ง: echo.com ให้ผลลัพธ์ที่แตกต่างกันขึ้นอยู่กับรุ่นของโปรเซสเซอร์คำสั่ง MS-DOS / Windows Batch
Aacini

21
echo(รุ่นเดียวที่เคยทำงานเป็น ดูเหมือนว่าอาจทำให้เกิดปัญหา แต่ใช้งานได้จริงอย่างสมบูรณ์ รูปแบบอื่น ๆ ทั้งหมดมีอย่างน้อยหนึ่งสถานการณ์ที่คำสั่งจะไม่ทำงานตามที่ต้องการ
dbenham

5
@naxa - ไม่มีอะไรเป็นทางการมีเพียงความรู้โดยรวมที่ได้รับจากแฮ็กเกอร์กลุ่มน้อย เป้าหมายคือการมีไวยากรณ์ที่สามารถใช้เพื่อ ECHO ค่าใด ๆ รวมถึงไม่มีอะไรและไม่ต้องกังวลเกี่ยวกับการรับสิ่งอื่นนอกเหนือจากที่คาดไว้ สรุปที่ดีที่สุดที่ฉันรู้ที่dostips.com/forum/viewtopic.php?p=4554#p4554 มันเป็นชนิดของใบไม้ที่คุณแขวนไว้ แต่ไม่มีใครคิดเรื่องที่ECHO(ล้มเหลว
dbenham

2
@Pacerier - มีตัวอย่างของความล้มเหลวสำหรับแต่ละคำแนะนำเหล่านั้น อ่านอย่างละเอียดdostips.com/forum/viewtopic.php?p=4554#p4554
dbenham

2
@Pierier มีเสียงสะท้อนเพียงพอที่ จะเกิดขึ้นที่นี่สำหรับคำถามแบบสแตนด์อโลน อาจมีบางอย่างในแนวของ "สิ่งที่ตัวละครสามารถติดตามได้ในทันทีechoและเอฟเฟกต์ของพวกเขาคืออะไร"
matt wilkie

68

เหมือนคำตอบของเคน แต่ด้วยการใช้การขยายเวลาล่าช้า

setlocal EnableDelayedExpansion
(set \n=^
%=Do not remove this line=%
)

echo Line1!\n!Line2
echo Works also with quotes "!\n!line2"

ครั้งแรกที่อักขระบรรทัดเดียวถูกสร้างและกำหนดให้กับตัวแปร \ n
สิ่งนี้ทำงานเป็นคาเร็ตที่ปลายบรรทัดพยายามหลบหนีอักขระตัวถัดไป แต่หากนี่คือ Linefeed มันจะถูกละเว้นและอักขระถัดไปจะถูกอ่านและหลบหนี (แม้ว่าจะเป็นตัวป้อนบรรทัดด้วยก็ตาม)
จากนั้นคุณต้องป้อนบรรทัดที่สามเพื่อสิ้นสุดคำสั่งปัจจุบันมิฉะนั้นบรรทัดที่สามจะต่อท้ายตัวแปร LF
แม้แต่ไฟล์แบตช์มีการสิ้นสุดบรรทัดด้วย CR / LF เฉพาะ LF เท่านั้นที่มีความสำคัญเนื่องจาก CR จะถูกลบออกในขั้นตอนนี้ของตัวแยกวิเคราะห์

ข้อดีของการใช้การขยายที่ล่าช้าคือไม่มีการจัดการอักขระพิเศษเลย
echo Line1%LF%Line2จะล้มเหลวเนื่องจาก parser หยุดการแยกวิเคราะห์ที่บรรทัดเดียว

คำอธิบายเพิ่มเติมอยู่ที่
SO: คำสั่งแบบยาวแยกหลายบรรทัดในไฟล์ Vista / DOS batch (.bat)
SO: สคริปต์แยกวิเคราะห์คำสั่ง Windows (CMD.EXE) เป็นอย่างไร

แก้ไข: หลีกเลี่ยง echo.

สิ่งนี้ไม่ตอบคำถามเนื่องจากคำถามเกี่ยวกับซิงเกิ้ลechoที่สามารถส่งออกได้หลายบรรทัด

แต่แม้จะมีคำตอบอื่น ๆ ที่แนะนำให้ใช้ในecho.การสร้างบรรทัดใหม่ก็ควรสังเกตว่าecho.มันเป็นที่เลวร้ายที่สุดเพราะมันช้ามากและสามารถล้มเหลวได้อย่างสมบูรณ์ในขณะที่ cmd.exe ค้นหาไฟล์ชื่อECHOและพยายามที่จะเริ่มมัน

สำหรับการพิมพ์เพียงบรรทัดว่างคุณสามารถใช้หนึ่งใน

echo,
echo;
echo(
echo/
echo+
echo=

แต่การใช้echo., echo\หรือecho:ควรหลีกเลี่ยงเช่นที่พวกเขาสามารถจริงๆช้าขึ้นอยู่กับตำแหน่งที่สคริปต์ที่จะดำเนินการเช่นไดรฟ์เครือข่าย


1
หากคุณจะผ่านสตริงที่มีการขึ้นบรรทัดใหม่เป็นพารามิเตอร์ไปยังรูทีนย่อยแบบแบตช์เช่นcall :pause line1!\n!line2เริ่มต้นรูทีนย่อยด้วยsetlocal EnableDelayedExpansionและจบด้วยsetlocal DisableDelayedExpansionเพื่อป้องกันการขึ้นบรรทัดใหม่จากการตีความก่อนกำหนด
stevek_mcc

2
+1 สำหรับความหล่อของตัวละครและแกลลอรี่เหล่าร้ายecho, echo; echo( echo/ echo+ echo= echo. echo\ echo:ตอนนี้ถ้าคุณต้องอธิบายว่าทำไมในงานศักดิ์สิทธิ์ศักดิ์สิทธิ์เหล่านี้ฉันจะเป็นหนี้คุณเบียร์ฟรี
Bob Stein

40

echo. พูดพอแล้ว.

&หากคุณจำเป็นต้องใช้ในบรรทัดเดียวใช้ ตัวอย่างเช่น,

echo Line 1 & echo. & echo line 3

จะส่งออกเป็น:

Line 1

line 3

ตอนนี้พูดว่าคุณต้องการสิ่งที่นักเล่น ...

set n=^&echo.
echo hello %n% world

เอาท์พุท

hello
world

จากนั้นเพียงแค่โยนใน%n%ทุกครั้งที่คุณต้องการขึ้นบรรทัดใหม่ในคำสั่ง echo สิ่งนี้ใกล้เคียงกับที่คุณ\nใช้ในหลายภาษามากขึ้น

ทำให้พังถล่ม

set n=ตั้งค่าตัวแปรnเท่ากับ:

^ ลบล้างสัญลักษณ์ถัดไปเพื่อทำตาม:

&หมายถึงการทำคำสั่งอื่นในบรรทัดเดียวกัน เราไม่สนใจข้อผิดพลาดระดับ (มันเป็นคำสั่ง echo สำหรับการร้องไห้ออกมาดัง ๆ ) ดังนั้นจึงไม่&&จำเป็น

echo. ดำเนินการคำสั่ง echo ต่อ

ทั้งหมดนี้ใช้งานได้เพราะคุณสามารถสร้างตัวแปรที่เป็นรหัสและใช้ในคำสั่งอื่น มันเป็นเหมือนฟังก์ชั่นสลัมเนื่องจากแบทช์ไม่ได้เป็นภาษาสคริปต์เชลล์ขั้นสูงสุด สิ่งนี้ใช้งานได้เนื่องจากการใช้งานชุดตัวแปรไม่ดีไม่ได้กำหนดระหว่าง ints, chars, floats, strings ฯลฯ อย่างเป็นธรรมชาติ

หากคุณมีฝีมือคุณสามารถเอามันไปทำงานกับสิ่งอื่นได้ ตัวอย่างเช่นใช้เพื่อสะท้อนแท็บ

set t=^&echo.     ::there are spaces up to the double colon

7
ห้ามใช้echo.เนื่องจากเป็นครั้งแรกที่พยายามค้นหาไฟล์ด้วยชื่อนั้น ใช้เครื่องหมายวรรคตอนอื่น ๆ เช่นecho,
Reinstate Monica

20

เมื่อสะท้อนบางสิ่งบางอย่างเพื่อเปลี่ยนเส้นทางไปยังไฟล์คำสั่ง echo หลายคำสั่งจะไม่ทำงาน ฉันคิดว่าตัวเปลี่ยนเส้นทาง ">>" อาจเป็นตัวเลือกที่ดี:

echo hello> temp
echo world >> อุณหภูมิ

8
ตัวอย่างแรกโดยใช้ ">" จะสร้างไฟล์ใหม่ส่วนที่สองโดยใช้ ">>" จะผนวกเข้ากับไฟล์ที่มีอยู่ (หรือสร้างหากไม่มีอยู่)
Yann Duran

1
(echo hello && echo world) > tempกล่าวถึงโดยนาธานเจ Brauer ในความคิดเห็นที่ได้รับการตอบรับงานปัจจุบัน
GeroldBroser คืนสถานะโมนิก้า

15

เช่นเดียวกับที่ Grimtron แนะนำ - นี่คือตัวอย่างด่วนในการกำหนด:

@echo off
set newline=^& echo.
echo hello %newline%world

เอาท์พุต

C:\>test.bat
hello
world

จริง ๆ แล้วมันจะสะท้อนขึ้นบรรทัดใหม่เพิ่มเติมหลังจาก "โลก"
BlueRaja - Danny Pflughoeft

1
@blue newline ที่ตามมาดูเหมือนว่าจะเป็นฟังก์ชั่นของไฟล์แบตช์เอง หากคุณทำซ้ำecho hello %newline%worldบรรทัดไม่มีช่องว่างระหว่าง
matt wilkie

2
echo "Hello %newline% world"ล้มเหลวเนื่องจากอยู่ในเครื่องหมายคำพูด เพราะมันไม่ใช่บรรทัดใหม่จริง
jeb

14

หากคุณต้องการใส่ผลลัพธ์ลงในไฟล์คุณสามารถใช้

(echo a & echo. & echo b) > file_containing_multiple_lines.txt

9

คุณสามารถทำเช่นนี้

(for %i in (a b "c d") do @echo %~i)

ผลลัพธ์จะเป็น

a
b
c d

โปรดทราบว่าเมื่อสิ่งนี้ถูกใส่ลงในแบตช์ไฟล์ '%' จะเพิ่มเป็นสองเท่า

(for %%i in (a b "c d") do @echo %%~i)

วิธีนี้ยังใช้งานได้ถ้าคุณต้องการสะท้อนเครื่องหมาย & แทนการขึ้นบรรทัดใหม่
parvus

ฉันคิดว่าฉันพบข้อผิดพลาด: *char

7

ถ้าใครมาที่นี่เพราะพวกเขากำลังมองหา echo บรรทัดว่างจาก makeing MINGW ฉันใช้

@cmd /c echo.

เพียงแค่ใช้echo.ทำให้เกิดprocess_begin: CreateProcess(NULL, echo., ...) failed.ข้อความแสดงข้อผิดพลาดที่หวั่น

ฉันหวังว่านี่จะช่วยคนอย่างน้อยหนึ่งคนที่นั่น :)


แต่นั่นไม่ใช่คำถาม downvote!
Mesalcode

ไม่แน่ใจว่าถากถางหรือไม่: P
Wayne Uroda

ค้นหาโดยดูในกล่องจดหมายของคุณ: D
Mesalcode

3

หากต้องการใช้ \ n ที่มีชื่อเสียงในสตริงตัวอักษรที่สามารถส่งผ่านไปยังตัวแปรได้อาจเขียนโค้ดเหมือนในสคริปต์Hello.batด้านล่าง:

@echo off
set input=%1
if defined input (
    set answer=Hi!\nWhy did you call me a %input%?
) else (
    set answer=Hi!\nHow are you?\nWe are friends, you know?\nYou can call me by name.
)

setlocal enableDelayedExpansion
set newline=^


rem Two empty lines above are essential
echo %answer:\n=!newline!%

วิธีนี้เอาต์พุตหลายบรรทัดอาจเตรียมไว้ในที่เดียวแม้ในไฟล์ scritpt หรือไฟล์ภายนอกอื่นและพิมพ์ในที่อื่น

การขึ้นบรรทัดใหม่จัดขึ้นในตัวแปรnewline ค่าของมันจะต้องถูกแทนที่หลังจากที่ขยายบรรทัดechoดังนั้นฉันจึงใช้setlocal enableDelayedExpansionเพื่อเปิดใช้งานเครื่องหมายอัศเจรีย์ที่ขยายตัวแปรในการดำเนินการ และการประมวลผลจะแทนที่\ nด้วยเนื้อหาขึ้นบรรทัดใหม่ (มองหาไวยากรณ์ที่ชุดวิธีใช้ ) แน่นอนว่าเราสามารถใช้! newline! ขณะตั้งคำตอบแต่\ nสะดวกกว่า มันอาจถูกส่งจากภายนอก (ลองHello R2 \ nD2 ) ซึ่งไม่มีใครรู้ชื่อของตัวแปรที่ถือตัวแบ่งบรรทัด (ใช่สวัสดี C3! newline! P0 ทำงานในลักษณะเดียวกัน)

ตัวอย่างข้างต้นอาจถูกปรับแต่งให้เป็นรูทีนย่อยหรือแบตช์แบบสแตนด์อโลนที่ใช้เช่นcall:mlecho Hi\nI'm your comuter:

:mlecho
setlocal enableDelayedExpansion
set text=%*
set nl=^


echo %text:\n=!nl!%
goto:eof

โปรดทราบว่าแบ็กสแลชเพิ่มเติมนั้นจะไม่ป้องกันสคริปต์จากการแยกสตริงย่อย \ n


1
คุณกำลังทำสิ่งเดียวกันกับคำตอบของ Jeb ด้านบน
Squashman

คำตอบที่ฉันอ่านด้านบนมีประโยชน์มาก แต่ฉันต้องเรียกรูทีนย่อย script od ซึ่งจะแยกวิเคราะห์ \ n ดังนั้นฉันจึงหลีกเลี่ยงการใช้เคล็ดลับทุกที่ สิ่งนี้จำเป็นในการปรับแก้ปัญหาและฉันแบ่งปันการปรับแต่งนี้ หวังว่ามันจะไม่เป็นอันตรายต่อสัตว์ใด ๆ
Tomator

2

สิ่งนี้ใช้ได้สำหรับฉันไม่จำเป็นต้องขยายเวลาล่าช้า:

@echo off
(
echo ^<html^> 
echo ^<body^>
echo Hello
echo ^</body^>
echo ^</html^>
)
pause

มันเขียนผลลัพธ์เช่นนี้

<html>
<body>
Hello
</body>
</html>
Press any key to continue . . .

4
-1 echo asdf >myfile.txtจะให้ผลลัพธ์ที่เหมือนกันทุกประการ echoเพิ่มบรรทัดใหม่ต่อท้ายส่วนท้ายของสตริง
BlueRaja - Danny Pflughoeft

2
คำตอบที่ยอดเยี่ยมเป็นคนเดียวที่รู้จักคุณค่าของการใช้วงเล็บสำหรับบรรทัดใหม่ ฉันเชื่อว่านี่เป็นวิธีที่ผู้สร้าง DOS ต้องการให้คุณทำ
djangofan

2

ในการเริ่มบรรทัดใหม่ในแบทช์สิ่งที่คุณต้องทำคือเพิ่ม "echo [" เช่น:

echo Hi!
echo[
echo Hello!

5
มันช้าและล้มเหลวเมื่อไฟล์มีชื่อecho[.bat
jeb

อะไร? มันควรจะทำงานได้ทันทีและเพียงแค่ลบไฟล์ echo [.bat
PryroTech

2
มันเหมือนกันมากกับเสียงสะท้อน วากยสัมพันธ์
PryroTech

5
ใช่และecho.เป็นทางออกที่ไม่ดีเช่นกัน
jeb

1
ตามที่สามารถเห็นได้ในคำตอบก่อนหน้านี้จะพยายามค้นหาไฟล์บนเส้นทางก่อนซึ่งทำให้มันช้ามาก echo.เดียวกันเป็นจริงสำหรับ การคาดหวังให้ผู้ใช้สคริปต์ของคุณลบไฟล์ในระบบของพวกเขาเพียงเพราะสคริปต์ของคุณต้องการการขึ้นบรรทัดใหม่ดูเหมือนจะไม่ดีสำหรับฉัน
Abel

2

โซลูชันของ Ken และ Jeb ทำงานได้ดี

แต่บรรทัดใหม่นั้นถูกสร้างขึ้นด้วยตัวอักษร LF เท่านั้นและฉันต้องการตัวอักษร CRLF (เวอร์ชั่น Windows)

ในตอนท้ายของสคริปต์ฉันได้แปลง LF เป็น CRLF

ตัวอย่าง:

TYPE file.txt | FIND "" /V > file_win.txt
del file.txt
rename file_win.txt file.txt

0

คุณสามารถใช้@echo(@echo + [space] + [space ที่ไม่ปลอดภัย])

หมายเหตุ: สามารถรับพื้นที่ที่ไม่ปลอดภัยได้ด้วย Alt + 0160

หวังว่าจะช่วย :)

[แก้ไข] อืมคุณพูดถูกฉันต้องการมันใน Makefile มันทำงานได้อย่างสมบูรณ์ในนั้น ฉันเดาคำตอบของฉันไม่เหมาะกับไฟล์แบตช์ ...


ฉันECHO ist eingeschaltet (ON).ไม่ได้เป็นบรรทัดว่างลองที่ cmd-prompt
jeb

1
นั่นเป็นพื้นที่ที่ไม่ทำลายไม่ใช่ขึ้นบรรทัดใหม่
Ry-

0

โซลูชันนี้ใช้งานได้ (ทดสอบแล้ว):

type nul | more /e /p

สิ่งนี้จะแปลงฟีดบรรทัดแบบแยกไปเป็นการรวมฟีดบรรทัดย้อนกลับ


แต่สิ่งนี้จะเพิ่มบรรทัดใหม่ระหว่างข้อความได้อย่างไร คำถามที่เป็นเรื่องเกี่ยวกับecho hello \n world
Jeb

ลงคะแนนจากฉัน นี่ไม่ใช่คำตอบสำหรับคำถาม
Mesalcode

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.