คัดลอกหลายบรรทัดจากพรอมต์คำสั่งของ Windows โดยไม่ต้องขึ้นบรรทัดใหม่


16

เป็นไปได้ไหมที่จะคัดลอกหลายบรรทัดจากพรอมต์คำสั่งของ Windows โดยไม่ต้องใส่บรรทัดใหม่ที่แต่ละบรรทัดมาถึงจุดสิ้นสุดของเทอร์มินัล

ตัวอย่างเช่นถ้าฉันมีบรรทัดต่อไปนี้ในคอนโซล:

c:\very_long_path_here\more_path_here>command_i_want_to_copy -with -some
arguments that wrap over lines.

หากฉันเลือกสิ่งนี้และคัดลอกฉันจะได้รับการขึ้นบรรทัดใหม่หลังจากคำว่า 'บาง' ซึ่งฉันจะต้องลบด้วยตนเอง

มีวิธีการคัดลอกข้อมูล (คำสั่งที่จะถูกแยกวิเคราะห์เอาท์พุทที่พิมพ์) ในรูปแบบที่มันจะตีความ / พิมพ์มากกว่าด้วยเส้นที่ห่ออย่างหนัก?


1
ใน Win 7/8 มี a clip.exeซึ่งเปลี่ยนเส้นทางอินพุตไปยังคลิปบอร์ด c:\> echo your -command | clip.exeคุณสามารถใช้มันเหมือน แต่มันเหมาะกว่าสำหรับเอาต์พุตคำสั่ง ..
สัปดาห์ที่

afaik ไม่มีวิธีการในการทำเช่นนี้ แต่บางทีคุณสามารถรวมสคริปต์ autoit สั้น ๆ กับ clip.exe เพื่อเก็บเป้าหมายของคุณได้
weberik

1
ตั้งแต่ Windows 10 พฤติกรรมเริ่มต้นจะตัดการเลือกสายเพื่อให้ไม่มีปัญหามากขึ้น
phuclv

คำตอบ:


13

พรอมต์คำสั่งของ Windows มีการใช้งานไม่ได้ในด้านนี้ เป็นไปไม่ได้ที่จะได้รับพฤติกรรมของ Linux Terminal (อย่างน้อยสำหรับ pre-Windows 10 ตามความคิดเห็นของ Luu)

อย่างไรก็ตามมีคุณสมบัติปิดบังใน cmd.exe ซึ่งช่วย: กด shift ค้างไว้เมื่อคลิกขวาในพื้นที่ที่เลือก (เพื่อคัดลอก) จะลบบรรทัดใหม่ทั้งหมดในข้อความที่คัดลอก

หากคุณต้องการเลือกบรรทัดคำสั่งยาวหนึ่งบรรทัด (การขยายหลายบรรทัดเทอร์มินัล) สิ่งนี้จะเป็นสิ่งที่คุณต้องการ อย่างไรก็ตามมันจะลบบรรทัดใหม่ทั้งหมดออกไปเสมอดังนั้นจึงไม่สามารถเลือกหลายบรรทัดคำสั่ง (หรือสคริปต์) ได้อย่างเหมาะสม

ขั้นตอน Detailled:

  • เลือกบรรทัดคำสั่งแบบยาวโดยใช้ปุ่มซ้ายของเมาส์
  • กดลงกะ
  • คลิกขวาในพื้นที่ที่เลือก (เพื่อคัดลอก)
  • ปล่อยกะ
  • ตอนนี้ข้อความที่เลือกอยู่ในบัฟเฟอร์การคัดลอกโดยไม่ต้องขึ้นบรรทัดใหม่และคุณสามารถวางลงใน cmd.exe อีกครั้งโดยใช้ปุ่มเมาส์ขวา

น่าสนใจฉันไม่เคยได้ยินเรื่องนี้เลย ดูเหมือนว่าดีเท่าที่จะได้รับ ฉันไม่ใช้ windows อีกต่อไป แต่เมื่อฉันได้รับโอกาสยืนยันฉันจะยอมรับคำตอบนี้ :-)
Adam Millerchip

1
ตั้งแต่ windows 10 คุณจะได้รับพฤติกรรมของ Linux โดยค่าเริ่มต้น
phuclv

... ดังนั้น "มันเป็นไปไม่ได้ที่จะได้รับพฤติกรรมของ Linux Terminal" ไม่ถูกต้อง
phuclv

@Luu: ขอบคุณที่เพิ่มข้อมูลเกี่ยวกับ Windows 10 แต่คุณหมายถึงอะไรกับ 'โดยค่าเริ่มต้น'? สิ่งนี้ชี้ให้เห็นว่ามีพฤติกรรมอื่นสำหรับระบบ pre-Windows 10 ซึ่งไม่มีอยู่ดังนั้นความคิดเห็นของคุณจึงทำให้เข้าใจผิด นอกจากนี้: ใครใช้ Windows 10 บ้าง (SCNR)
Johannes Overmann

1
ฉันใช้ Windows 10 และทำงานได้เมื่อคัดลอกเอาต์พุตของคำสั่งแต่ไม่ใช่เมื่อคัดลอกคำสั่งจากพรอมต์คำสั่ง ตัวอย่าง: 1) พิมพ์คำสั่งที่ครอบคลุมหลายบรรทัดในคำสั่ง promp; 2) คัดลอก - NewLines ที่ไม่พึงประสงค์จะไปที่คลิปบอร์ดเช่นกัน)
Ivan Akcheurov

3

อีกตัวเลือกหนึ่งคือการเปิดเมนูบริบทของแถบชื่อเรื่องของหน้าต่างคอนโซลไปที่คุณสมบัติและทำให้ความกว้างของบัฟเฟอร์หน้าจอใหญ่พอที่สิ่งต่างๆ (9999 ดูเหมือนว่าจะเป็นค่าสูงสุด)

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

แน่นอนว่าวิธีนี้จะผิดพลาดหากบรรทัดมีความยาวมากกว่า 9999 ตัวอักษร


1
เป็นความคิดที่ดีเช่นกัน! ปิดบังการใช้งานน้อยลง แต่ทัศนวิสัยลดลง
Johannes Overmann

1
@Abraxas ฉันได้เขียนคำตอบใหม่โดยละเอียดยิ่งขึ้น
1j01

0

วิธีเปิดใช้งานสิ่งนี้สำหรับ Windows 10:

ด้วยหน้าต่าง "cmd" หรือ "Windows Powershell" ให้ไปที่คุณสมบัติ (คลิกที่ไอคอนด้านซ้ายบน) และเลือกตัวเลือก "เปิดใช้งานการเลือกการตัดบรรทัด"

การแจ้งเตือน Powershell ของฉันไม่ได้เปิดใช้งานสิ่งนี้ทำให้ฉันได้เคล็ดลับ


-2

เพียงแค่คัดลอกรหัสลงในแผ่นจดบันทึกจากนั้นในแถบเมนูคลิกFormatจากนั้นคลิกWord Wrap


-4

ใช้ SET แล้วรวมส่วนต่าง ๆ ในนิพจน์ นอกจากนี้คุณสามารถทำเพื่อวัตถุประสงค์เช่นชุดไฟล์หรือแมโคร

@set WAIKTools=%ProgramFiles%\WAIK\Tools\amd64
@set LabelCD=GRTMPVOL_RU

@IF "%time:~0,1%" GTR "0" SET current=%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%@%TIME:~0,2%.%TIME:~3,2%.%TIME:~6,2%
@IF "%time:~0,1%" LSS "0" SET current=%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%@0%TIME:~1,1%.%TIME:~3,2%.%TIME:~6,2%

"%WAIKTools%\oscdimg.exe" -h -m -n -l%LabelCD% -b"%cd%\boot\w32sp3.bif" "BUILD-%current%" "BUILD-%current%-ISO\%LabelCD%.ISO"

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