Salin beberapa baris dari command prompt Windows tanpa baris baru yang dipaksakan

16

Apakah mungkin untuk menyalin beberapa baris dari Windows Command Prompt tanpa memasukkan baris baru di mana setiap baris mencapai ujung terminal?

Misalnya, jika saya memiliki baris berikut di konsol:

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

Jika saya memilih ini dan menyalinnya, saya akan mendapatkan baris baru setelah kata 'some', yang harus saya hapus secara manual.

Apakah ada cara untuk menyalin data (perintah yang akan diuraikan, keluaran yang dicetak) dalam bentuk yang ditafsirkan / dicetak, daripada dengan garis yang dibungkus dengan keras?

Adam Millerchip
sumber
1
Di Win 7/8 ada clip.exe, yang mengarahkan input ke clipboard. Anda bisa menggunakannya seperti c:\> echo your -command | clip.exe. Tapi ini lebih cocok untuk output perintah ..
minggu
afaik tidak ada cara untuk melakukan ini. tetapi mungkin Anda dapat menggabungkan sesuatu seperti skrip autoit pendek dengan clip.exe untuk mengarsipkan tujuan Anda
weberik
1
karena windows 10 perilaku default akan membungkus pemilihan baris sehingga tidak ada lagi masalah
phuclv

Jawaban:

13

Prompt Perintah Windows terkenal rusak dalam aspek ini. Tidak mungkin untuk mendapatkan perilaku Terminal Linux (setidaknya untuk pra-Windows 10 menurut komentar Luu).

Namun, ada fitur tidak jelas di cmd.exe yang membantu: Menahan shift saat mengklik kanan ke area yang dipilih (untuk menyalin) akan menghapus SEMUA baris baru dalam teks yang disalin.

Jika Anda ingin memilih satu baris perintah panjang (merentang beberapa terminal), ini sesuai keinginan Anda. Namun, itu akan selalu menghapus semua baris baru, sehingga tidak mungkin untuk memilih beberapa baris perintah (atau skrip) dengan cara yang masuk akal.

Prosedur Detailled:

  • Pilih baris perintah panjang menggunakan tombol kiri mouse
  • Tekan shift bawah
  • Klik kanan ke area yang dipilih (untuk menyalin)
  • Lepaskan shift
  • Sekarang teks yang dipilih ada di buffer copy tanpa baris baru dan Anda dapat, misalnya, menempelkannya ke cmd.exe lagi menggunakan tombol kanan mouse.
Johannes Overmann
sumber
Menarik, saya belum pernah mendengar fitur itu. Sepertinya itu sebagus yang akan didapat. Saya tidak menggunakan windows lagi, tetapi ketika saya mendapat kesempatan untuk mengkonfirmasinya saya akan menerima jawaban ini. :-)
Adam Millerchip
1
karena windows 10 Anda akan mendapatkan perilaku Linux secara default
phuclv
... jadi "Tidak mungkin untuk mendapatkan perilaku Terminal Linux" salah
phuclv
@ Luu: Terima kasih telah menambahkan info tentang Windows 10. Tapi apa yang Anda maksud dengan 'secara default'? Ini menunjukkan bahwa ada perilaku alternatif untuk sistem pra-Windows 10, yang tidak ada, sehingga komentar Anda menyesatkan. Juga: Siapa yang menggunakan Windows 10? (SCNR)
Johannes Overmann
1
Saya menggunakan Windows 10 dan berfungsi saat menyalin output dari perintah tetapi tidak ketika menyalin pernyataan dari command prompt. Contoh: 1) Ketikkan perintah yang merentang beberapa baris pada prompt perintah; 2) salin - NewLines yang tidak diinginkan akan pergi ke clipboard juga).
Ivan Akcheurov
3

Pilihan lain adalah membuka menu konteks bilah judul jendela konsol, buka Properti dan buat lebar buffer layar cukup besar sehingga tidak ada yang terbungkus. (9999 tampaknya merupakan nilai maksimum.)

Jika Anda harus sering melakukan ini, Anda dapat mengubah opsi di Default bukannya Properties.

Tentu saja, metode ini rusak jika garis lebih panjang dari 9999 karakter.

1j01
sumber
1
Ide bagus juga! Kurang jelas untuk digunakan, tetapi kurang visibilitas.
Johannes Overmann
1
@Abraxas Saya sudah menulis ulang jawabannya secara lebih rinci.
1j01
0

Untuk mengaktifkan ini untuk Windows 10:

Dengan jendela "cmd" atau "Windows Powershell", navigasikan ke properti (klik ikon di kiri atas) dan pilih opsi "Aktifkan pilihan pembungkus baris".

Prompt Powershell saya tidak mengaktifkan ini, mengaktifkannya melakukan trik untuk saya.

Jørn Jensen
sumber
-2

Cukup salin kode ke notepad lalu di bilah menu, klik Formatlalu klikWord Wrap

Perdana Jay
sumber
-4

Gunakan SET dan kemudian gabungkan bagian-bagian dalam ekspresi. Selain itu dapat Anda lakukan untuk tujuan seperti file batch atau makro.

@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"
STTR
sumber
1
Jawaban ini tidak ada hubungannya dengan pertanyaan. Di mana bagian salinan? Di mana bagian terminal Windows?
Johannes Overmann